Published November 5, 2019 | Version v1

Evolution of the load balancing server

Description

The Load Balance Service at CERN handles more that 400 aliases, distributed over more than 2000 nodes. After being in production for more than thirteen years, it has been going through a mayor redesign over the last two years. Last year, the server part got reimplemented in golang, taking advantage of the concurrency features offered by the language to improve the scaling of the system. This year, the client side and the communication between the client and the server have been the main focus. First of all, the client part of the Load Balance Service has been rewritten in golang. On top of that, it was evaluated to move from a model where the server probes the clients, to a model where the clients announce their states. This has a quite a lot of implications in the frequency of the updates, the security model and the deployment of the service. Finally, it was also evaluated to offer 'HAProxy as a Service', taking feedback on the client members using the same probes currently used for the DNS load balancing. All the components used by the Load Balance Service are open source, and they can be deployed at other places

Files

CHEP2019_408.pdf

Files (523.7 kB)

Name Size Download all
md5:bf7b47efcbe2e8215ad3273bae077dac
523.7 kB Preview Download