Amazon EC2负载均衡器上的负载均衡算法

时间:2014-01-12 14:49:24

标签: amazon-web-services amazon-ec2 load-balancing amazon-elb

我们计划在托管在某些Amazon EC2实例上的网站上进行一些性能测试。问题是,如果所有HTTP流量来自相同的IP地址(例如,在许多不同的客户端主机共享相同的公共IP的情况下),EC2负载均衡器是否会将所有流量转发到仅一个Web服务器(实例) ?

2 个答案:

答案 0 :(得分:1)

由于客户端的DNS缓存确实存在这个问题(请参阅我对Can Elastic Load Balancers correctly distribute traffic to different size instances的回答,了解更多有关先前事态的信息),但最近引入{{3 }}:

  

我们很高兴地宣布支持跨区域负载平衡,改变了Elastic Load Balancing(ELB)路由传入请求的方式,使您可以更轻松地跨多个可用性部署应用程序区域。 [强调我的]

公告提供了更多信息,但有关详情的链接Elastic Load Balancing [...] Cross-Zone Load Balancing

  

如果启用跨区域负载平衡,则不必再担心缓存DNS信息的客户端将导致请求分布不均匀。现在, ELB可确保将请求平均分配给您的后端实例,无论它们位于哪个可用区。 [强调我的]

这仍然没有概述使用的确切算法,但是不均匀分布的主要来源似乎是这样解决的(我最近阅读了一位大型AWS客户的帖子,他们报告他们的指标变得或多或少持平翻转开关后的曲线,但现在不记得URL。

答案 1 :(得分:0)

过去就是这种情况,我认为它仍然可能是一个问题。它不是将所有流量转发到单个实例,而是可以将所有流量发送到单个区域。

ELB使用DNS循环进行一些负载平衡。缓存的DNS查找可能导致多个请求被路由到同一个区域。