为动态网站实现高可用性的最佳方法是什么?如果我在另一台服务器上创建第二个副本并且不希望使用负载均衡器,因为它会扰乱用户会话,最好的选择是什么?
问问题
894 次
3 回答
2
您可以将会话数据存储在数据库中,从而解决该问题,然后您可以将请求轮询到应用程序服务器。
(好)负载均衡器可以配置为“粘性”,这意味着它们每次都将来自同一 IP 的请求发送到同一台服务器。
于 2011-06-05T07:37:31.810 回答
2
即使您有一个负载均衡器位于两个后端 Web 服务器前面,您也只需将单点故障转移到负载均衡器而不是 Web 服务器上。所以你的应用程序仍然不是高度可用的。
我强烈建议使用负载均衡器和至少一对 Web 服务器。在工作中,我们使用 HA 代理,它完全能够确保会话是“粘性的”,并被发送到同一个 Web 服务器,除非它出现故障,它将在那里进行故障转移。
为了使您的负载均衡器具有高可用性,您可以设置两个彼此镜像的负载均衡服务器。为两个负载均衡器分配一个虚拟 IP。编写一个脚本来轮询另一台服务器以检查它是否已关闭;如果它出现故障,让该脚本获取该虚拟 IP 地址。该脚本应该在两台服务器上运行。
此链接描述了一种管理虚拟 IP 地址的方法。类似的文章已经为大量的 linux 发行版写过,但它们都是基于相同的方法。
于 2011-06-05T07:57:51.187 回答
0
负载均衡器。它们应该以可以处理会话的方式进行配置。也许每次都将相同的 ip 发送到相同的后端。或者将它们存储在数据库中,或者如果出于某种我没有想到的原因需要非常快的话,可以将它们存储在一些共享内存中。
于 2011-06-05T07:39:18.767 回答