天天看點

nginx筆記3-負載均衡算法

1.nginx測試:先從官網下載下傳nginx 官網網址為:http://nginx.org/  然後找到stable version的版本下載下傳,因為這版本是最穩定的,不要去下載下傳最新,因為不穩定,如下圖:

nginx筆記3-負載均衡算法

下載下傳解壓後即可

這裡還要對解壓後的nginx的conf目錄下的nginx.conf配置如下圖:

nginx筆記3-負載均衡算法

上圖中的proxy_pass http://test-service;意思是隻有test-service下面的tomcat才能通過我的反向代理。

随後我們啟動兩個tomcat,把筆記二的工程分别放在兩個Tomcat的webapps下,注意兩個Tomcat的端口不能沖突。在浏覽器輸入http://localhost/test_war/index.jsp,如圖:

nginx筆記3-負載均衡算法
nginx筆記3-負載均衡算法

上圖顯示,沒重新整理2次浏覽器就将請求轉發到另外一個Tomcat,這裡可以看出,負載均衡的算法預設配置為輪詢。

負載均衡的算法:

1.輪詢:這是一個最公平的原則,即每N個請求分發給Tomcat1,下一個n個請求分發給tomcat2.再比如,一個有tomcat1為1号,tomcat2為2号,1号那就分給tomcat1,2号就分給tomcat2,3号沒有,那麼就重新從tomcat1開始。

nginx筆記3-負載均衡算法
nginx筆記3-負載均衡算法

2.随機算法:通過一定範圍的随機數來分發請求給相應的tomcat.當請求量很大時,其實就很接近輪詢了。

nginx筆記3-負載均衡算法

3.源位址哈希:通過請求來源的IP計算相應的hashCode來分發給相應的Tomcat,隻要IP不發生變動請求分發的Tomcat也就固定了。

nginx筆記3-負載均衡算法

4.權重輪詢:在輪詢的基礎上增權重重,比如,現在是tomcat1,tomcat2,此時tomcat2權重重4,那麼輪詢的順序即tomcat1,tomcat2,tomcat2,tomcat2,tomcat2,tomcat2。

nginx筆記3-負載均衡算法
nginx筆記3-負載均衡算法

5.權重随機法(Weight Random):跟權重輪詢類似一樣的做法。比如,tomcat1,tomcat2,此時tomcat2增權重重為4,那麼tomcat1,tomcat2,tomcat2,tomcat2,tomcat2,tomcat2,那麼tomcat随機分發的時候分發的幾率就增大。

6.最小連接配接數法(Least Connections):根據後端伺服器目前的連接配接情況,動态的選取目前積壓連接配接數最少的一台伺服器來處理目前請求。

就算此時其中一個Tomcat挂了,請求服務還能正常通路。因外還有另外一個Tomcat在運作。

上一篇: nignx筆記1

繼續閱讀