Abstract
CERN is using an increasing number of DNS based load balanced aliases (currently over 600). We will 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. 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. This talk will explain the Lbclient that has been extended to use Collectd metrics to determine the status of the node. The Lbclient rewrite reduces the real time needed for the whole procedure thanks to the concurrency features of Golang. This is particular useful when a node belongs to multiple LB aliases.