RHEL needs a decent loadbalancer

Latest response

As you can see in the "popular tags" overview, there is a lot of attention for things like clustering / high availability / etc.

 

One thing that seems to be overlooked far too often, is that there's no decent loadbalancer included in RHEL.

 

On a active / active cluster (the only "real" cluster which can do high-availability AND high performance), you need a load balancer to govern the incoming requests.

 

There is only one loadbalancer included in RHEL (as far as I know), which is LVS (/ piranha / IPVS). This is a pretty good load balancer, but, as it's only a "simple" TCP / UDP load balancer, it can only operate at level 3 (OSI-wise). When trying to do more advanced things, like SSL offloading, LVS falls short.

 

We use LVS in our orginization for just about everything. We even LVS'ed (if that's a verb) our Exchange 2010 CAS servers.

 

There are alternatives, such as HAProxy, but HAProxy is tailor-made for HTTP requests, which is not always what you want. There is an alternative for MySQL servers (MySQL proxy), but again, this is tailor-made for a single type of request.

 

What seems to me is really needed, is a load balancer which can do arbitrary TCP / UDP forwarding (preferably using the in-kernel IPVS support, such as LVS does), but is also able (maybe via some kind of modular interface) to do more advanced things with the requests, such as SSL offloading, request rewriting etc.

 

Furthermore, LVS seems to be a pretty old piece of software already, and seems to need some cleanup regardless (i.e. reloading the config file does not work correctly when using the send_program directive).

Responses