【发布时间】:2014-08-23 22:50:22
【问题描述】:
如果我在 AWS EC2 上托管了四台相同的服务器,分为两组,每组位于不同的 AWS 区域。每组前面有一个ELB。我配置了两个加权别名记录(不基于延迟)指向 AWS Route53 中每个组的 ELB。
每个服务器都安装了一个简单的apache2 服务器,它显示一个简单的页面,用不同的词来区分彼此。我启动了一个浏览器客户端(由Selenium 库制作)经常使用作为这些服务器域名的 URL 重新加载页面(暂停 1 秒),但我发现浏览器(firefox)总是从服务器返回页面在一组中,而不是像Weighted Round Robin 那样以 50% 的时间从两组返回页面。
我还发现,如果我暂停相对较长的时间,其他组的页面确实会返回,但只要我经常刷新页面。它永远不会改变。请求总是命中一组而不是另一组。
我还编写了一个简单的Java 程序来继续从 AWS Route 53 查询域名,并且我返回的地址确实在两组之间发生了变化,但是浏览器似乎卡在与它第一次连接的组的连接中(如只要我经常刷新)
我怀疑是 TCP 连接仍然存在的问题,但我不确定。顺便说一句,我已经禁用了浏览器缓存,并且我使用的是 Mac OS X 10.9。 (这也发生在 Ubuntu 上)
任何想法都将不胜感激。这个问题对我的作品来说真的很重要,我的截止日期快到了。非常感谢。
【问题讨论】:
标签: selenium amazon-web-services tcp dns amazon-route53