【负载均衡器之Pen 】

Pen 是一个负载均衡器,支持 UDP 和 TCP 基础协议,比如 HTTP 和 SMTP,在外部允许把多个服务器显示为一个,可以自动检测可用服务器上的分布式客户端和停掉的服务器。Pen 提供高可用性,高性能的特性。

这个负载算法会继续追踪客户端,也会尝试把他们访问的最后时间发送给服务器。客户端表有大量的插槽(默认是 2048,通过命令行参数可设置)。当表满了的时候,当前最小使用的那个会抛出去,换成新的。

这是个简单的优先轮询算法,会重复的连接发送客户端到不同的服务器。

当 Pen 检测到一个服务器不可用,就会扫描启动其他服务器,这样就可以避免负载平衡和”平滑“故障的问题。

This is pen, a load balancer for udp and tcp based protocols such as dns, 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. The client table has a number of slots (default 2048, settable through command-line arguments). When the table is full, the least recently used one will be thrown out to make room for the new one.

This is superior to a simple round-robin algorithm, which sends a client that connects repeatedly to different servers. Doing so breaks applications that maintain state between connections in the server, including most modern web applications.

扫描二维码关注公众号,回复: 245688 查看本文章

Pen  是一个简单的负载平衡器,支持基础协议的TCP如HTTP或SMTP 。它允许多个服务器上显示为一个外部和自动检测服务器上,以减少现有服务器和客户之间的开销。这使高可用性和可扩展的性能。

该负载平衡算法跟踪客户,并尝试将它们发送回服务器,他们的最后一次访问。客户端表有若干插槽(默认2048 ,设置通过命令行参数) 。当表已满,则最近使用的人会被处理掉,以腾出空间给新的。

这是一个简单的优势轮询算法,该算法发出了一个客户端连接到不同的服务器反复。这样做的时候休息,应用,维护国家之间的连接的服务器,其中包括最先进的Web应用程序。

当 Pen 检测到服务器不可用,它会扫描再从该服务器后,最近使用过的一个。这样,我们得到的负载平衡和“公平”故障是免费的。

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.

A side-effect of load-balancing web servers is that several logfiles are produced, and by default, Pen operates in a proxy mode that makes all accesses seem to come from the load balancer.The program penlogd solves this problem by merging pen's log file with the ones produced by the web servers. See penlogd(1) and penlog for details.

The Direct Server Return and Transparent Reverse Proxy modes make accesses seem to come directly from the client. Multiple logfiles are still created, and Penlogd can still be used to consolidate them automatically.

This load balancer is known to work on FreeBSD, Linux, HP-UX and Solaris.Other Unixes should work as well, possibly requiring trivial changes.Success stories or problem reports are welcome.

If pen is started with the -w option, statistics are saved in html format when a USR1 signal is received. The cgi script penstats can be used to simplify this; it must be edited to reflect local conditions.

猜你喜欢

转载自gaojingsong.iteye.com/blog/2383742