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