Nginx

是否可以在不使用硬體負載均衡器的情況下平衡多個 Nginx 負載均衡器之間的負載?

  • September 20, 2013

我計劃使用單獨的 Nginx 伺服器作為軟體負載平衡器來平衡我的應用伺服器之間的負載。但實際上,這是因為應用伺服器前面的負載均衡器允許我在需要時更新應用伺服器(作業系統、應用程序等)而無需停機。

然後我意識到,如何更新負載均衡器本身?即,當我需要更新充當我的應用程序負載平衡器的伺服器上的作業系統和 Nginx 時,我的站點仍然會出現故障。

由於硬負載平衡是不可能的,我想知道是否可以將兩個 Nginx 網路伺服器連接在一起,以便它們在應用伺服器之間平衡負載,同時使我能夠在需要時一次更新一個,而不會導致停機。

這是現實的嗎?

您需要公共接入點。這應該通過虛擬地址或路由來完成。在沒有額外硬體和協議的情況下完成此任務的最佳/最簡單方法是使用 LVS

LVS 是核心級 IP 平衡器,可以完成這項工作,並且非常快速有效,具有令人印象深刻的吞吐量。您還可以在同一節點上配置文件牆。

對於您的配置,最簡單的方法是使用兩個節點(主動-備份)配置 LVS-NAT,它支持節點之間的心跳並為雙方使用虛擬 IP。如果主節點發生故障,則從節點將 arp 更新推送到交換機並接管 IP 地址。

有大量的配置實用程序,一些發行版具有用於配置的精美實用程序,例如。RHEL/Centos/Fedora 有食人魚 web GUI。

對於真實伺服器,您可以配置超時、調度、比率、監控、會話持久性等。非常靈活。

此外,在節點之間共享會話資訊也很好。

在此處輸入圖像描述

推薦文件:

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

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

引用自:https://serverfault.com/questions/540560