Haproxy
Haproxy 1.8:排水或設置權重 0 - 第 4 層和第 7 層
我們已經為 DB 前端部署了多個 Haproxys TCP 模式 haproxy,在生產中為應用前端部署了第 7 層 haproxy。我正在尋找將一個後端節點從流量中取出並在應用程序上進行更新/發布/維護的最佳選擇。要麼我使用 Set server state Drain 要麼 set weight 0 哪一個將有效且有用地將所有客戶端連接緩慢重定向到應用程序的其他後端而不會中斷和重定向所有 tcp 連接?還讓我知道持久連接是什麼意思?
使用排水管。
這可以防止新會話被定向到有問題的後端,但現有會話仍將被定向到該後端。因此,您應該等待一段合理的時間讓使用者結束他們的會話(取決於工作負載的類型,這可能是幾分鐘到一天)。
這當然是假設您在 haproxy 中配置了粘性會話,因此使用者將始終被定向到相同的後端。如果不是這種情況,那麼使用權重 0 或排水沒有區別。
持久連接是保持打開的連接。如果您想使用這些,請確保 haproxy 超時時間足夠長以適應這些連接;否則 haproxy 可能會關閉仍在使用(但空閒)的連接。