Commit 2725948b authored by pfandzelter's avatar pfandzelter
Browse files

Merge branch 'tp/lb-documentation' into 'main'

Update documentation for load balancing

See merge request !148
parents 6c86fad2 d39c14bc
Pipeline #18894 passed with stages
in 14 minutes and 40 seconds
......@@ -359,8 +359,10 @@ A single FReD node can instead be distributed over several hosts by sharing a co
This common database is where all state is kept (in addition to the NaSe that keeps additional configuration data).
For this use-case it is thus recommended to use a powerful database instance, either a remote store on a powerful machine or DynamoDB.
As the individual `fred` instances are stateless, they can be installed behind a common load balancer with a simple round robin scheduling.
To achieve this, start the individual instances with the same FReD node identifier, their personal address (to bind interfaces correctly) and the proxy's public address (to propagate to other FReD nodes).
For consistency reasons, it's required that each keygroup in this node is bound to a particular machine within this node.
Our included `fredproxy` makes sure of that with consistent hashing.
Start the individual instances with the same FReD node identifier, their personal address (to bind interfaces correctly) and the proxy's public address (to propagate to other FReD nodes).
After all your machines have been started, add a `fredproxy` instance in front of these machines (you can actually add several proxies if you want and balance them with a load balancing L3/L4 proxy if you want).
An example of this can be found in the 3 node test.
......@@ -542,7 +544,7 @@ The "3 node test" starts a FReD deployment of three FReD nodes and runs a client
It can be found in `./tests/3NodeTest`.
It uses Docker compose and can thus easily be started with `make 3n-all`.
The deployment comprises a single `etcd` Docker container as a NaSe, a simple trigger node, two FReD nodes that each comprise only a single machine (node _B_ and _C_) with a storage server, and a distributed FReD node _A_ that comprises three individual FReD machines behind a `haproxy` sharing a single storage server.
The deployment comprises a single `etcd` Docker container as a NaSe, a simple trigger node, two FReD nodes that each comprise only a single machine (node _B_ and _C_) with a storage server, and a distributed FReD node _A_ that comprises three individual FReD machines behind a `fredproxy` sharing a single storage server.
All machines are connected over a Docker network.
The test client runs a number of operations against the FReD deployment and outputs a list of errors.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment