软件http负载均衡器?


19

目前,每个站点/网络服务只有一台后端服务器。我很想听听人们使用各种负载均衡器应用程序(在Linux上运行的东西)的经验。

你会推荐什么?

Answers:


13

根据该事件27中的StackOverflow的播客中,reddit的家伙似乎真的像HAProxy的。这是一个简短的教程,显示HAProxy与Amazon EC2一起使用。您可以在HAProxy网站上找到更多信息。


3
我在许多生产服务器上都使用HAProxy,并且喜欢它。它易于配置,甚至具有简单的Web界面,可以实时检查其状态和统计信息。可以在[Signal vs Noise blog] [1] [1]中找到帮助我设置HAProxz的第一个实例的截屏视频:37signals.com/svn/posts/1073-nuts-bolts-haproxy
Wes Oldenbeuving

我忘记了可管理性方面。听起来很好。
Mark Renouf

21

该问题没有提供有关负载,所需功能等的特定信息,因此,任何答案充其量都是猜测。

对于中小型网站,是一个不错的选择。它提供HTTPS支持并易于设置。

HAproxy可以扩展以饱和10G以太网管道,并提供连接限制,即,当您要处理Apache子级/ Ruby on Rails实例时,仅向每个后端服务器发送并发请求数。

nginx非常适合用作全方位负载平衡器和静态文件服务器。在进行负载平衡时,它可以执行HTTP压缩,URL重写和静态文件服务。

Apache在2.2系列中也是一个很好的负载平衡器。可以执行与nginx大致相同的操作,但是会比nginx给服务器带来更高的负载。如果您已经熟悉Apache并且非常成熟,那么非常值得研究。

Perlbal提供了对后端主机的简单连接限制,跨持久HTTP连接的多路请求,并且如果您已经在使用Perl,则可以轻松进行设置。

Varnish缓存是反向HTTP代理,具有基本的负载平衡支持。它不是一个很好的负载平衡器,但是在某些情况下,它对大多数请求对象的内存缓存可以消除很大一部分后端服务器命中率,并且性能出色。ESI包含可能很有趣。

我不确定100%,但是Perlbal和nginx不在我的脑海中提供了一些支持,可以在不重新启动负载均衡器的情况下更改配置。对于较大的站点,这很关键,这是好的商业负载平衡器设备做得很好的事情之一。

以上所有都是HTTP级别(第7层)负载均衡器。TCP / IP级别的负载平衡器有可能达到更高的吞吐量,但在其他方面受到限制。HAProxy作者已经很好地编写了负载平衡方法和问题的清晰易读的概述:http : //1wt.eu/articles/2006_lb/

LVS是一种广泛使用的TCP / IP级别的负载平衡器。大多数防火墙还可以通过在一定范围的后端IP地址上散列传入的请求,从而在IP级别上实现基本的负载平衡-至少OpenBSD的PF和Cisco ASA和Juniper Netscreens可以做到这一点。



3

haproxy和LVS一样运作良好。

FWIW,wordpress.com使用nginx作为其平衡器/代理。


2

我们在生产中使用LVS。它由我们的运营团队使用一组复杂且有害的脚本进行管理。一个相当聪明的定制系统会从我们的真实服务器上公布运行状况和性能数据,以使负载均衡器可以相应地设置权重。

LVS当然会给您带来单点故障-负载平衡器(有多种方法可以对其进行冗余设置)。

我以为设置起来太复杂了,所以我写了Fluffy Linux Cluster,它宽松地基于Windows NLB的工作原理(我想...我不确定那是如何工作的),并且也受到CLUSTERIP的启发。

我们没有在生产中使用它,但是Fluffy可以对合理数量(至少5台)的服务器进行负载平衡,没有单点故障,也没有中央管理节点等。


嗯:LVS,邪恶的脚本,相当聪明的定制系统。您的设置与我们的设置完全一样!
汤姆·安德森

2

我过去曾经使用过Pound。它快速,简单并且需要最少的关注。



1

如果您决定使用LVS,那么如果您要使负载平衡服务器层高度可用,我也将研究Keepalived。我在LVS上使用Heartbeat / Pacemaker已有几个月,发现它对于简单的HA LB层来说过于复杂,有时甚至不稳定。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.