Additional API hooks have been added to provide reporting and error
logging functionality outside of the core engine. Support for Stratus
VOS is included. Edge case conditions are now fixed on connection
breakdown.
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.
A control port interface to the load balancer core
engine has been implemented. This interface can be
used via the same system of shared object plugins
as is currently used for data filters. It enables
the load balancer core to be interrogated as to
its internal status, as well as facilitating
advanced statistical information retrieval. It
also means that most of the functionality of the
load balancer can be reconfigured on the fly.
This version of the Riverdrums Load Balancer
concentrates on separating the buffers used for
holding data from the connection structures used
for tracking client/server sockets. It enables
optimal allocation and closing of data channels
and more efficient connection management.
Additionally, several conditions relating to full
buffers were catered for, and socket closure is
more aggressive.
This release focuses on providing a content filter API to the core load balancer engine. This is done via a shared object API. Content filters can be called in chains, providing a means for modularising functionality. An example HTTP filter is included with this release. Other significant improvements include client IP session tracking, improved event handling and memory usage, and the ability to run as a certain user and in a chroot jail.