Home | 簡體中文 | 繁體中文 | 雜文 | 知乎專欄 | Github | OSChina 博客 | 雲社區 | 雲棲社區 | Facebook | Linkedin | 視頻教程 | 打賞(Donations) | About
知乎專欄多維度架構 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者”

第 133 章 FAQ

目錄

133.1. Haproxy 與 Nginx

133.1. Haproxy 與 Nginx

Haproxy 與 Nginx 都能實現負載均衡,那麼 Haproxy 與 Nginx proxy 有什麼差異,我們怎樣選擇兩種方案。

如果是用於 HTTP 負載均衡我建議使用 Nginx,它可以SSL證書掛載,緩存定製,實現各種複雜的需求。而 Haproxy 與 Nginx 相比就沒有那麼靈活。

他們有什麼區別呢?

Haproxy 依賴 inter,rise,fall 三個參數設置監控狀態檢查間隔時間和恢復時間,滿足條件才能剔除壞節點跟加入好節點

Nginx 是通過 max_fails,fail_timeout 參數配置實現節點檢查,原理是timeout。

實際場景有什麼不同?

Haproxy 每隔 inter 時間,統計次數達到 fall 便踢出節點,監控檢查是獨立工作的,如果監控檢查沒有達到fall次數,haproxy 仍會向節點分配請求。一旦fall次數達到節點被踢出,這一時間段請求的用戶集體分配到新節點。

Nginx 則是達到timeout 時間才會踢除,在沒有達到timeout時間值是,nginx 一直處于pending 狀態,Nginx 有個好處就是在timeout 時間內節點恢復了,這些pending用戶還能繼續訪問節點。否則全部分配到新節點。