是否可以在不使用硬件负载平衡器的情况下平衡多个Nginx负载平衡器之间的负载?

我计划使用单独的Nginx服务器作为软件负载平衡器来平衡我的应用服务器之间的负载.但实际上,这是因为应用服务器前面的负载均衡器允许我在没有停机的情况下更新应用服务器(操作系统,应用程序等).

然后我意识到,如何更新负载均衡器本身?当我需要更新作为我的应用程序的负载均衡器的服务器上的操作系统和Nginx时,我的站点仍然会停止运行.

由于硬负载平衡是不可能的,我想知道是否可以将两个Nginx Web服务器连接在一起,以便它们在应用服务器之间平衡负载,同时使我能够在需要时一次更新一个,而不会导致停机.

这是现实的吗?

最佳答案
您需要通用接入点.这应该通过虚拟地址或路由来完成.没有额外的硬件和协议is to use LVS的最佳/最简单的方法.

LVS是内核级IP平衡器,可以完成这项工作并且非常快速有效,具有令人印象深刻的吞吐量.您还可以在同一节点上配置文件墙.

对于您的配置,最简单的方法是使用两个节点(主动 – 备份)配置LVS-NAT,它支持节点之间的心跳并为双方使用虚拟IP.如果主节点将失败,则slave会将arp update推送到交换机并接管IP地址.

There are tons of configuration utilities,一些发行版具有奇特的配置实用程序,例如. RHEL / Centos / Fedora有piranha web GUI.

对于真实服务器,您可以配置超时,调度,比率,监控,会话持久性等.非常灵活.

此外,在节点之间共享会话信息也很好.

推荐文档:

LVS官方:http://www.linuxvirtualserver.org/Documents.html

LVS维基:http://kb.linuxvirtualserver.org/wiki/Main_Page

转载注明原文:是否可以在不使用硬件负载平衡器的情况下平衡多个Nginx负载平衡器之间的负载? - 代码日志