您在生产中使用什么负载均衡系统?你怎么看呢?

时间:2008-10-05 18:23:52

标签: networking load-balancing production

在生产服务器(不仅仅是Web服务器)中,有许多不同的系统可以平衡负载并实现冗余

  • 循环DNS
  • Linux虚拟服务器
  • 思科本地总监
  • F5 BigIP
  • Windows NLB
  • 等?

如果您在生产中使用其中一种(或另一种),哪一种?它对你有多好?你评估过其他人吗?

15 个答案:

答案 0 :(得分:6)

HAProxy是一款优秀的软件负载均衡器;易于配置,高度可定制且性能极佳(可以saturate a 10Gb NIC)。

使HAProxy非常适合我们的主要功能:

  • 轻松定义不同的流量类型,并路由到正确的服务器池
  • 极高的可靠性:我没有在9个月内崩溃并计算
  • 资源使用率低:几乎不在CPU上注册,所有(小)I / O负载来自记录
  • 高度灵活:各种平衡,会话粘性和故障转移算法

HAProxy唯一令人讨厌的是配置文件。没有方便的方法来以编程方式更改服务器的配置,并且有一个学习曲线来理解各种选项。

答案 1 :(得分:5)

对于我们的apache进程,我们使用(d):http://www.f5.com/products/big-ip/ 这似乎是行业标准。我想这一切都取决于你付多少钱,以及你的负载平衡。

e.g。 Websphere可以完成:

big ip - > Apache 1 - > WebSphere 1

big ip - > Apache 2 - > WebSphere 2

或者你可以越过它:

big ip - > Apache 1 - > WebSphere 1& 2(循环赛)

big ip - > Apache 2 - > WebSphere 2& 1(循环赛)

我们使用后者,它完美地运作。注意一个主机出现故障的情况:在大多数情况下,如果它超时,你将失去该请求。

答案 2 :(得分:5)

我已经使用过LVS,并且一旦设置就会发现它维护成本很低。在一个侧面项目中,我尝试了haproxy这个网站,我只是在平衡3个网络服务器。像魅力一样工作,非常容易配置 - 强烈推荐。

答案 3 :(得分:4)

Ultramonkey添加到列表中。

我们只倾向于使用DB来实现冗余,Oracle Dataguard运行良好但设置复杂。

答案 4 :(得分:4)

37signals的Mark Imbriaco创建了一个简短的截屏视频,展示了他的公司如何使用HAproxy进行Rails负载平衡:

http://www.37signals.com/svn/posts/1073-nuts-bolts-haproxy

答案 5 :(得分:3)

我在一个小型网站上使用了一个低端Coyote Point负载均衡器。我发现设置直观,产品稳定且易于使用。

我相信他们的产品是BSD的relayd的一个很好的Web界面,以前是主机。

回想起来,我希望我已经购买了中高端产品,因此我可以将负载均衡器用作SSL端点,并节省了证书费用。

答案 6 :(得分:3)

我们使用E250si coyotepoint

我们选择使用此特定负载均衡器的原因

  • 我们想要一个交钥匙解决方案,这块硬件就是这样。
  • 价格(我们在eBay上留下一年的支持使用它。)
  • 基于Web的界面 - 即使您不是系统管理员,也非常易于使用(例如,设置群集,停顿服务器,进行故障排除,统计信息......)。
  • 与公司的半个人关系(或者更确切地说是当时为他们工作的人)。
  • 基于FreeBSD - 我们几乎独家运行FreeBSD,我更喜欢一种不会在堆栈中添加其他技术的解决方案。

要添加的一件事是,即使负载均衡器只有四个物理端口,您也可以通过将交换机连接到一个物理端口来启用更多端口 - 并由此延伸

关于这个负载均衡器没有太多可说的。这对我们来说很好,并且在没有重启和任何问题的情况下运行了10个月左右。每当服务器发生故障时,它立即被取消。不是我可以抱怨。

最初有一些事情可以使用,如果我不得不考虑弱点,只会想到两个:

  • 当你处理超过4 mbit / s的传入时,它会变得有点慢 - 当你启用粘性等功能时,真的非常慢。我们通常达到5-6 mbit / s的峰值,但是因为我们禁用了粘性,服务器代理,探测并使用了非常基本的round_robin策略,所以这一切都很好。
  • 网页界面使用JavaScript / ajax作为显示器的部分内容 - 这些都是非常错误的,尽管sales @ person告诉我,如果我们进行软件更新,它们就会得到解决。

总而言之,E250si为我们节省了所有配置并维护了另一台服务器等等。但是由于我听到了很多关于HAproxy和pound的好东西,我们可能迟早会朝着这个方向迁移。如果我走软件路线,在放入服务器的组件之后我会非常挑剔 - 例如主板,网卡等。

答案 7 :(得分:2)

我们在keepalived之上使用LVS。添加服务器很简单,并且支持故障转移负载平衡服务器。

答案 8 :(得分:2)

我曾经使用过F5 bigips的几个工作,除了通常的硬件负载平衡好东西,我特别喜欢irules,它真的提供了一些很好的重写灵活性

它基本上是一个事件驱动的脚本语言

http://devcentral.f5.com/Default.aspx?tabid=75

有一个维基,但您需要创建一个帐户才能访问

答案 9 :(得分:2)

HAProxy(负载均衡)+磅(SSL termnation)+ keepalived(VRRP具有实时备份负载均衡器)

答案 10 :(得分:1)

循环DNS将为您提供负载平衡,但不提供冗余。如果您的某个服务器发生故障,它仍会受到其请求份额的影响。

我们使用Apache mod_jk来处理Java应用程序服务器对之间的负载平衡和冗余。这非常有效,而且很简单。

我们还有一个冷故障转移Apache服务器,以防主服务器出现故障。理想情况下,我们使用Linux-HA来实现apache的热故障转移,但我们不确定我们是否可以证明其复杂性。

答案 11 :(得分:1)

加州大学洛杉矶分校的一个部门使用Juniper Acceleration Platform,他们对此非常满意。它接管了SSL加密的任务,而男孩,基于硬件的SSL 所以更快!他们目前正在迁移更多的服务来使用它。

它有什么好处:

  • 在专用硬盘上存储常用数据模式
  • 基于硬件的算法(谈话速度!)
  • 支持最常用的协议

对于拥有大量流量的公司而言,它并不便宜,但效率非常高。请参阅加州大学洛杉矶分校选择here的规范。

答案 12 :(得分:1)

我们目前使用的是Zeuz ZXTM负载平衡器,到目前为止一直很满意。但是,我们的托管服务提供商最初在运行防火墙服务的计算机上的虚拟机上配置它。事实证明,这是一个非常愚蠢的错误,因为连接在流量成为问题之前很久就已经饱和了。一旦移动到自己的专用盒子,我们就能够毫无问题地处理100Mb / s的传出流量(在4Gb / s的可破解互联网管道上)。

答案 13 :(得分:0)

我们正在使用HAProxy取得巨大成功。即使在高负载平均值下,我也从未见过它的CPU使用率高于2%。

答案 14 :(得分:0)

Round Robin with sticky sessions是我认为我们使用的。我们必须进行设置,以便保留ASP / ASP.Net会话信息,以便用户坚持使用具有会话的一台服务器。

我们确实遇到了一些问题,一旦涉及从http切换到SSL,我们的网站会将经过身份验证的用户发送到非安全页面,未经身份验证的用户将被发送到安全登录页面,这有点奇怪但看到了最终通过SSL终止获得最佳解决方案的一些意义,除了回到单个服务器,这是直接的解决方案。

可能有时候需要使用更复杂的东西来确定哪个服务器“最不忙”并将下一个请求发送到该机器但是我不确定基础设施人员将如何获得该功能负载平衡器。