Jul 9 – 13, 2018
Sofia, Bulgaria
Europe/Sofia timezone

Concurrent Adaptative Load Balancing at (@CERN)

Jul 10, 2018, 4:00 PM
Sofia, Bulgaria

Sofia, Bulgaria

National Culture Palace, Boulevard "Bulgaria", 1463 NDK, Sofia, Bulgaria
Poster Track 8 – Networks and facilities Posters


Zhechka Toteva (CERN)


CERN is using an increasing number of DNS based load balanced aliases (currently over 600). We explain the Go based concurrent implementation of the Load Balancing Daemon (LBD), how it is being progressively deployed using Puppet and how concurrency greatly improves scalability, ultimately allowing a single master-slave couple of Openstack VMs to server all LB aliases. We explain the Lbclient that has been rewritten to be able to use Collectd metrics to determine the status of the node. We also used Go for the Lbclient rewrite as its concurrency features reduce the real time needed for the whole procedure in particular when a node belongs to multiple LB aliases. We explain that the LBD server acts as an arbiter getting feedback on load and health from the backend nodes using SNMP to decide which IP addresses the LB alias will present. While this architecture has been used since long at CERN for DNS based aliases, the LBD code is generic enough to drive other load balancers, so we explain how we investigated using it with HAProxy to provide adaptative responses to load and health monitoring.

Primary authors

Presentation materials