基于Nginx的軟件負載均衡實現解讀
(3)Learn
較為的復雜也較為的智能,Nginx會自動監測request和response中的session信息,而且通常需要回話一致性的請求、應答中都會帶有session信息,這和第一種方式相比是不用增加cookie,而是動態學習已有的session。
這種方式需要使用到zone結構,在Nginx中zone都是共享內存,可以在多個worker process中共享數據用的。(不過其他的會話一致性怎么沒用到共享內存區域呢?)
2.2 Session Draining
主要是有需要關閉某些backend以便維護或者升級,這些關鍵性的服務都講求gracefully處理的:就是新的請求不會發送到這個backend上面,而之前分配到這個backend的會話的后續請求還會繼續發送給他,直到這個會話最終完成。
讓某個backend進入draining的狀態,既可以直接修改配置文件,然后按照之前的方式通過向masterprocess發送信號重新加載配置,也可以采用Nginx的on-the-fly配置方式。
2.3 backend健康監測
backend出錯會涉及到兩個參數,max_fails=1 fail_timeout=10s;意味著只要Nginx向backend發送一個請求失敗或者沒有收到一個響應,就認為該backend在接下來的10s是不可用的狀態。
通過周期性地向backend發送特殊的請求,并期盼收到特殊的響應,可以用以確認backend是健康可用的狀態。通過health_check可以做出這個配置。
在使用了health_check功能的時候,一般都需要在backend group開辟一個zone,在共享backend group配置的同時,所有backend的狀態就可以在所有的worker process所共享了,否則每個worker process獨立保存自己的狀態檢查計數和結果,兩種情況會有很大的差異哦。
2.4 通過DNS設置HTTP負載均衡
Nginx的backendgroup中的主機可以配置成域名的形式,如果在域名的后面添加resolve參數,那么Nginx會周期性的解析這個域名,當域名解析的結果發生變化的時候會自動生效而不用重啟。
責任編輯:任我行
-
碳中和戰略|趙英民副部長致辭全文
2020-10-19碳中和,碳排放,趙英民 -
兩部門:推廣不停電作業技術 減少停電時間和停電次數
2020-09-28獲得電力,供電可靠性,供電企業 -
國家發改委、國家能源局:推廣不停電作業技術 減少停電時間和停電次數
2020-09-28獲得電力,供電可靠性,供電企業
-
碳中和戰略|趙英民副部長致辭全文
2020-10-19碳中和,碳排放,趙英民 -
深度報告 | 基于分類監管與當量協同的碳市場框架設計方案
2020-07-21碳市場,碳排放,碳交易 -
碳市場讓重慶能源轉型與經濟發展并進
2020-07-21碳市場,碳排放,重慶
-
兩部門:推廣不停電作業技術 減少停電時間和停電次數
2020-09-28獲得電力,供電可靠性,供電企業 -
國家發改委、國家能源局:推廣不停電作業技術 減少停電時間和停電次數
2020-09-28獲得電力,供電可靠性,供電企業 -
2020年二季度福建省統調燃煤電廠節能減排信息披露
2020-07-21火電環保,燃煤電廠,超低排放
-
四川“專線供電”身陷違法困境
2019-12-16專線供電 -
我國能源替代規范法律問題研究(上)
2019-10-31能源替代規范法律 -
區域鏈結構對于數據中心有什么影響?這個影響是好是壞呢!