使用Route 53维护用户会话

时间:2014-07-10 19:27:52

标签: session amazon-web-services amazon-ec2 dns

问题描述:

我有2个EC2实例,位于欧洲和北美地区。现在我已经设置了Route 53,用Weighted Round Robin record set

将用户请求定向到这些服务器

当用户被定向到一个服务器并创建会话时,下次解析域名时,它可以直接指向没有会话的其他服务器。 (例如,用户登录并单击另一个链接并且必须再次登录)

思想:

我可以使用负载均衡器来确保两台服务器的会话粘性,但在这种情况下,无法设置加权循环DNS路由。

我还可以增加DNS响应的TTL,但它几乎消除了WRR的影响。

或者我可以配置服务器来共享会话(我不知道如何。服务器是Ofbiz server),我不确定这是不是很好。

问题:

在Amazon Web Service Route 53上使用加权循环记录时,有没有办法维护用户会话?

非常感谢!

1 个答案:

答案 0 :(得分:0)

DNS循环法适用于短期TCP连接(例如执行查询)。但是,如果要提供更长的会话,请确保在客户端和服务器之间具有更长寿命的会话。您可以在服务器和客户端之间使用HTTPSession,并且Connection将保持打开状态,直到会话过期。

正如您所提到的,增加TTL无法解决问题,因为您可以将TCP连接设置为接近一个DNS响应的到期时间,并在下次从新的DNS响应中获得不同的IP地址时。

如果您因任何原因不想使用HTTPSession,最好使用Elastic Load Balancing (ELB)为您做同样的事情。