<p>This won't work. Multiple instances of Bitcoin Core cannot use the same datadir. Furthermore, LevelDB does not usually work well with network storage so you probably can't even get the datadir to actually be stored on a NAS and still have Bitcoin Core work properly.</p>

<p>You could have multiple Bitcoin Core instances running behind a load balancer, but it probably won't be as useful as you think it will be.</p>

CC BY-SA 3.0
2017-10-22T02:40:01.760Z
Yeah that's what I'm not keen on, multiple load balancer that doesn't provide consistent response between them.
Sleeper Smith
CC BY-SA 3.0
2017-10-20T15:44:28.493Z
2017-10-20T15:44:28.493Z
Ava Chow
<p>You can use <code>haproxy</code> or <code>nginx</code> to balance between the <code>REST</code> and <code>RPC</code> interfaces, but this doesn't work if you need to use any of the wallet functions, and there's no guarantee that any of the information at the tip of the chain will be consistent. Many mining pools use setups like this, but they don't need to have any assurance that the information between the nodes is identical, where you would have this requirement if you were running a service (flopping between confirmations for example would be harmful). </p>

<p>If your service is heavily bottlenecking on a node there's probably going to be other problems, the APIs will become unresponsive when updating the tip of the chain for example. Attempt to design services which are resistant to this sort of instability, rather than trying to expand horizontally with multiple nodes as that will greatly add to your complexity without much improvement of scalability. </p>

CC BY-SA 3.0
2017-10-27T10:25:48.590Z
2017-10-27T10:25:48.590Z
Claris
<p>Taking the question a step back.</p>

<p>I'm looking to build payment using bitcoin myself. The whole point of bitcoin is decentralisation and sovereignty.</p>

<p>Basically I need High Availability set up for bitcoin full node myself with no single point of failure. So that my website can reliably transact and receive payments.</p>

<p>== Original Text ==<br>
Any one know or tried running bitcoin core server with the data stored on a NAS and a load balancer in front of it?</p>

<p>I'm basically looking for some kind of high availability set up (on aws with autoscaling group / EFS / ELB)</p>

CC BY-SA 3.0
2017-10-20T10:58:29.607Z
would you mind sharing the purpose of this setup and what are the requirements?
rny
CC BY-SA 3.0
2017-10-20T15:44:51.417Z
Why do you want to have multiple Bitcoin Core nodes behind a load balancer?
Ava Chow
CC BY-SA 3.0
2017-10-22T02:38:15.770Z
I am interested in building payment service for my site. I will need to make sure that the payment service doesn't have a single point of failure. @renlord
Sleeper Smith
<bitcoin-core>
load balancing bitcoind
Sleeper Smith
# load balancing bitcoind

(Asked by: username_0 on 2017-10-20)

Taking the question a step back.

I'm looking to build payment using bitcoin myself. The whole point of bitcoin is decentralisation and sovereignty.

Basically I need High Availability set up for bitcoin full node myself with no single point of failure. So that my website can reliably transact and receive payments.

== Original Text ==  
Any one know or tried running bitcoin core server with the data stored on a NAS and a load balancer in front of it?

I'm basically looking for some kind of high availability set up (on aws with autoscaling group / EFS / ELB)

**Tags:** bitcoin-core

> **Comments:**
> **username_1**: would you mind sharing the purpose of this setup and what are the requirements?  
> **username_2**: Why do you want to have multiple Bitcoin Core nodes behind a load balancer?  
> **username_0**: I am interested in building payment service for my site. I will need to make sure that the payment service doesn't have a single point of failure. @renlord  

---

## 2 answers

### Answer by username_2 on 2017-10-20. Score: 2

This won't work. Multiple instances of Bitcoin Core cannot use the same datadir. Furthermore, LevelDB does not usually work well with network storage so you probably can't even get the datadir to actually be stored on a NAS and still have Bitcoin Core work properly.

You could have multiple Bitcoin Core instances running behind a load balancer, but it probably won't be as useful as you think it will be.

> **Comments:**
> **username_0**: Yeah that's what I'm not keen on, multiple load balancer that doesn't provide consistent response between them.  

---

### Answer by username_3 on 2017-10-27. Score: 0

You can use `haproxy` or `nginx` to balance between the `REST` and `RPC` interfaces, but this doesn't work if you need to use any of the wallet functions, and there's no guarantee that any of the information at the tip of the chain will be consistent. Many mining pools use setups like this, but they don't need to have any assurance that the information between the nodes is identical, where you would have this requirement if you were running a service (flopping between confirmations for example would be harmful).

If your service is heavily bottlenecking on a node there's probably going to be other problems, the APIs will become unresponsive when updating the tip of the chain for example. Attempt to design services which are resistant to this sort of instability, rather than trying to expand horizontally with multiple nodes as that will greatly add to your complexity without much improvement of scalability.


---

