A simple load balancer for tcp based protocols

Edit Package pen

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 and
automatically detects servers that are down and distributes clients
among the available servers. This gives high availability and scalable
performance.

The load balancing algorithm keeps track of clients and will try to
send them back to the server they visited the last time. This is useful
for applications that maintain state between connections in the server,
including most modern web applications.

When pen detects that a server is unavailable, it scans for another
starting with the server after the most recently used one. That way we
get load balancing and "fair" failover for free.

Correctly configured, pen can ensure that a server farm is always
available, even when individual servers are brought down for
maintenance or reconfiguration.

The final single point of failure, pen itself, can be eliminated by
running pen on several servers, using vrrp to decide which is active.

Refresh
Refresh
Source Files
Filename Size Changed
init.pen 0000002492 2.43 KB
pen-0.34.1.tar.gz 0000184622 180 KB
pen.cfg 0000000715 715 Bytes
pen.changes 0000008542 8.34 KB
pen.service 0000000286 286 Bytes
pen.spec 0000003319 3.24 KB
runpen.sh 0000000511 511 Bytes
Revision 18 (latest revision is 19)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 827417 from Dirk Mueller's avatar Dirk Mueller (dirkmueller) (revision 18)
- update to 0.34.1:
  * Corrected typo in pen.c per suggestion by Belinda Liu.
  * Merged pull request from Vincent Bernat for OpenSSL 1.1.0 compatibility.
  * Allow setting local address for upstream connections. This fixes issue #31.
  * Fixed issue #30: UDP not working in combination with a configuration file.
  * In epoll.c: check for EPOLLHUP.
  * In dsr.c: always use our real mac address, to avoid confusing switches.
  * Cleaned up code residue surrounded by "#if 0".
  * Added CS_HALFDEAD for UDP streams that haven't seen traffic in a while.
  * Bug in pending_and_closing: don't modify the list we're looping over.
  * Updated pen manpage.
  * Added transparent UDP test case to testsuite.sh.
  * Contribution from Talik Eichinger: add X-Forwarded-Proto when doing
  * SSL decryption.
  * Added tarpit test case to testsuite.sh.
  * Tarpit functionality to be used with the DSR mode.
  * pen.1: removed obsolete -S option, updated defaults for -x and -L.
  * In failover_server: sanity checks to failover routine.
  * In add_client: add the initial server to .client as well as .initial.
  * In failover_server: changed abuse_server to ABUSE_SERVER and emerg_server
  * to EMERG_SERVER, to handle their default NO_SERVER values.
  * See issue #19 on Github.
  * At the suggestion from Marcos Vinicius Rogowski, the hash algorith
  * will now include the client port number if the -r (roundrobin)
  * option is used. See https://github.com/UlricE/pen/pull/18
  * Released 0.31.0.
  * Officially released 0.30.1.
  * Fixed IP-based client tracking.
  * Removed unnecessary #include <pen.h> in dlist.c
  * Released 0.30.0.
Comments 0
openSUSE Build Service is sponsored by