The sys admin's daily grind: HAProxy
Balancing Stuntman
Charly's candidate today is the HAProxy load balancer, which not only distributes the load between servers, but also helps admins overcome their fears of lengthy configuration files.
Linux has no lack of free load balancers. Previously, I talked about Pen [1], which you can set up in a couple of minutes, and Pound [2], which is world famous. However, the high flyer in the balancer scene, HAProxy [3], has thus far led a fairly secluded life as an "Unknown Stuntman" [4]. The HAProxy balancer can handle any aspect of the proxy business – yet nobody has heard of it. The program's author, Willy Tarreau, has successfully demonstrated his competence as the maintainer of the 2.4 kernel, but it doesn't look as if userspace software users are interested in taking his offerings.
HAProxy uses a single thread – multithreading is for the timid. Tarreau's single-thread approach offers the decisive benefits of low overhead and high speed but requires meticulous care on the part of the developer. The single thread can go down because of a single error – a memory leak or a race condition, for example – and then the stuntman takes a tumble without a safety net.
[...]