Pen is a load balancer for "simple" TCP-based protocols such as HTTP or SMTP. It allows several servers to appear as one to the outside. It automatically detects servers that are down and distributes clients among the available servers. This gives high availability and scalable performance.
| Tags | Internet Web Clustering/Distributed Networks Networking |
|---|---|
| Licenses | GPL |
| Operating Systems | POSIX Linux Solaris Mac OS X Windows Windows Windows |
| Implementation | C |
Recent releases


Release Notes: When pen writes its configuration file, weight information is now included. Weight-based server selection now works better for small numbers of connections.


Release Notes: Server weight can now be specified on the command line and displayed using the penctl command. Installation instructions for Windows were updated. A sanity check was added to the initialization code.


Release Notes: This release fixes a bug in the weighted server selection: server_by_weight would never consider blacklisted servers, which kept them blacklisted indefinitely.


Release Notes: Support for kqueue was added for BSD, offering better performance than select or poll.


Release Notes: Clients that are rejected by an access list can now be directed to an "abuse server". Configuration options were modified to make sure that the experimental status of the SSL support is understood.
Recent comments
19 Dec 2006 01:45
alternative XLB
Hi, sorry for the blatant advertising, but I just finished the first release of XLB, which is only for HTTP but includes a connection management and caching.
See sf.net/projects/xlb (sf.net/projects/xlb).
Thanks for feedback ;)