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


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


Changes: 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.


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


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


Changes: 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.
- All comments
Recent commentsalternative 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 http://sf.net/projects/xlb (http://sf.net/projects/xlb).
Thanks for feedback ;)