負載均衡:解決整個服務的可用性
水平擴充套件:成本最低
基於水平擴充套件的演算法(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...