nginx 負載均衡

2021-10-07 10:09:41 字數 1339 閱讀 2860

負載均衡:解決整個服務的可用性

水平擴充套件:成本最低

基於水平擴充套件的演算法(x軸):round-robin演算法,least-connected演算法

是並不能解決所有問題,比如資料量的問題,當單臺應用上的資料已經非常大的時候,無論如何擴充套件,每一台服務的資料仍然非常大。此時,應該通過另外兩種解決方案:從y軸和z軸上進行解決

y軸:(基於url對功能進行分發)原先由一台服務處理的功能,現在由兩台或多台進行處理(需要更改**,做大量重構,成本高),能解決資料上公升問題

三個配合使用

缺點:無法保證某一類請求只能由一台伺服器去處理

功能:在加權輪詢的方式訪問server指令指定的上游服務,整合在nginx的upstream框架中

指令:

(1)weight:服務訪問權重,預設1

(2)max_conns:server的最大併發連線數,僅用作單worker程序。預設是0,表示沒有限制

(3)max_fails:在fail_timeou時間段內,最大的失敗次數。當達到最大失敗時,會在fail_timeout秒內這台server不允許再次被選擇

(4)fail_timeout:單位為秒,預設值為10秒。指定一段時間內,最大的失敗次數max_fails。到達max_fails後,該server不能被訪問的時間

1.upstream指令

語法:upstream name  (name:交由反向**模組使用。大括號中就是下面的server)

預設:空

放置位置:http

2.server指令

語法:server address[parameters](每個server就是一台伺服器,引數用來控制負載均衡的行為。address可以是網域名稱,ip位址或者unix socket。可以在後面加埠,不加預設80)(兩個通用引數:backup:指定當前server為備份服務,僅當非備份server不可用時,請求才會**到該server。down:標識某台服務已經下線)

預設:空

放置位置:upstream

nginx 負載均衡 Nginx負載均衡策略

nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...

nginx負載均衡

nginx 的 upstream目前支援 4 種方式的分配 1 輪詢 預設 每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。2 weight 指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。3 ip hash 每個請求按訪問ip的hash...

nginx負載均衡

nginx s stop quick exit nginx s quit graceful quit nginx s reload changing configuration,starting a new worker,quitting an old worker gracefully nginx...