文章來源
1、負載均衡
首先說下什麼是負載均衡。負載均衡是高可用架構最基礎的組件,因爲有負載均衡可以將許多請求分配到不同的後端服務器爲客戶端提供服務。即使這其中有機器因爲某些原因而不能提供服務,也不會影響整個系統的使用。同樣因爲請求都被平均的分配到了不同後端服務器,所以單一服務器不必承受過高的負載,同樣客戶端也會有更好的用戶體驗。
2、配置實例
後端的tomcat運行的都是同一個應用,不過是ip不同而已,基本上就把後端的三個tomcat服務器看作一個就行。
只要保證前端nginx代理服務器能夠訪問後端的tomcat服務器就可以,即便不在同一個網段也沒有問題。
默認tomcat已經可以正常運行,並且可以訪問,下邊看nginx的配置。
配置:
http {
upstream testproject {
server 192.168.8.2:8080;
server 192.168.8.3:8080;
server 192.168.8.4:8080 backup;
}
server {
listen 80;
server_name www.test.com/192.168.8.5;
location / {
proxy_pass http://testproject;
}
}
}
上邊是非常簡單的負載均衡配置,並沒有太多的其餘的配置,只要配置成這樣負載均衡基本就算是配置完畢。
講解:
upstream要配置在http的字段。
upstream streamname 整個streamname是隨便起什麼名字都行,自己定義。
在upstream中配置上要被負載的服務器,只要填寫後端能訪問的地址+端口就行。
在被代理服務器的後端還可以加上調度中的狀態
down | 此server不進行負載均衡 |
backup | 當所有參與負載的機器無法提供服務,啓用此服務器 |
max_fails | 允許請求失敗的次數 |
fail_timeout | 經過max_fails失敗後,服務暫停的時間 |
max_conns | 最大連接數 |
server中的配置
listen 80; 監聽80端口
server_name url/ip ;如果是內網的話,只要配置上ip,如果是出公網,就配置上域名。
location裏邊配置上proxy_pass 後邊是http://自己定義的負載均衡的名稱。
其實配置很簡單。
負載均衡的配置參數還有很多,目前這裏只講解最基本的,這樣配置完成後,其實已經就搭建好了負載均衡的架構,但是其中還會有很多的問題,例如session共享、還有輪詢的方式等等。後邊會有文章一一闡述。