The Riverdrums Load Balancer has been through
a few months of intensive testing and code review.
This release finalises that process.
Particular changes include a fix to enable
listening on a privileged port as a non-root
user, re-negotiating another server on a first
write error, optimised event calls, a
separate control port for each running process
and more error checking.
The latest version of the load balancer implements a control port interface to the server core engine. The interface is driven in exactly the same way as the shared object content filters, and different control responses can be coded and loaded as shared objects. An example control file (rlb_ctrl.c) is included to demonstrate some of the functionality. This enables the load balancer to be interrogated and re-configured on the fly.
This version of the Riverdrums Load Balancer concentrates mainly on separating the data buffers used for holding data from the connection data structures used for tracking client/server sockets. It enables optimal allocation and closing of data channels and more efficient connection management.
This release of the Riverdrums Load Balancer enhances the core features and efficiency of the engine, whilst adding customizable content filtering support via a shared object filter API. Content filters can be chained together, allowing data to be manipulated multiple times before being passed on in each direction.
Other improvements include client ip session tracking, better memory usage, improved event handling and support for running as a specified user and in a chroot jail.
This is the initial release of RLB, the Riverdrums Load Balancer, an event-driven, no-frills load balancer.