
We were using the leastconn method which sends new connections to the backend with the least number of connections. Unfortunately git clients seem to have trouble with varying backend repo state (due to GC and packing) and the thought is sending all requests from a single client to a single backend will alleviate this. To do this we switch to the source balance method which hashes the source IP and finds a stable backend to talk to. This method handles backend outages fine as it will hash to a new backend if the older one goes offline. Change-Id: I2c7a4ec0809a2f4ef6556833ac6a0ff3651904dd
Install, configure, and run a haproxy server.