使用Nginx+keepalved實現負載均衡

Nginx+keepalved實現負載均衡

why? 爲什麼用Nginx而不用LVS?

7點理由足以說明一切:

1 、高併發連接: 官方測試能夠支撐 5 萬併發連接,在實際生產環境中跑到 2 ~ 3 萬併發連接數。

2 、內存消耗少: 在 3 萬併發連接下,開啓的 10 個 Nginx 進程才消耗 150M 內存( 15M*10=150M )。

3 、配置文件非常簡單: 風格跟程序一樣通俗易懂。

4 、成本低廉: Nginx 爲開源軟件,可以免費使用。而購買 F5 BIG-IP 、 NetScaler 等硬件負載均衡交換機則需要十多萬至幾十萬人民幣。


使用 Nginx 做七層負載均衡的理由:

5 、支持 Rewrite 重寫規則: 能夠根據域名、 URL 的不同,將 HTTP 請求分到不同的後端服務器羣組。

6 、內置的健康檢查功能: 如果 Nginx Proxy 後端的某臺 Web 服務器宕機了,不會影響前端訪問。

7 、節省帶寬: 支持 GZIP 壓縮,可以添加瀏覽器本地緩存的 Header 頭。


加強說明:

Keepalived是Linux下面實現VRRP 備份路由的高可靠性運行件。基於Keepalived設計的服務模式能夠真正做到主服務器和備份服務器故障時IP瞬間無縫交接。

Nginx是基於Linux 2.6內核中epoll模型http服務器,與Apache進程派生模式不同的是Nginx進程基於於Master+Slave多進程模型,自身具有非常 穩定的子進程管理功能。在Master進程分配模式下,Master進程永遠不進行業務處理,只是進行任務分發,從而達到Master進程的存活高可靠 性,Slave進程所有的業務信號都由主進程發出,Slave進程所有的超時任務都會被Master中止,屬於非阻塞式任務模型。

服務器IP存活檢測是由Keepalived自己本身完成的,將2臺服務器配置成Keepalived互爲主輔關係,任意一方機器故障對方都能夠將IP接 管過去。

Keepalived的服務IP通過其配置文件進行管理,依靠其自身的進程去確定服務器的存活狀態,如果在需要對服務器進程在線維護的情況下,只需要停掉 被維護機器的Keepalived服務進程,另外一臺服務器就能夠接管該臺服務器的所有應用。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章