一族奢、七層負載均衡的實現(xiàn)
基于url等應(yīng)用層信息的負載均衡
nginx的proxy是一個很強大的功能,實現(xiàn)了七層負載均衡垫挨。
功能強大,性能卓越焊切,運行穩(wěn)定
配合簡單靈活
能夠自動剔除工作不正常的后端服務(wù)器
上傳文件使用異步模式
支持多種分配策略,可以分配權(quán)重倒谷,分配方式靈活
nginx的負載均衡
內(nèi)置策略蛛蒙、擴展策略
- 內(nèi)置策略:IP Hash糙箍、加權(quán)策略
- 擴展策略:fair策略渤愁、通用hash、一致性hash
1深夯、加權(quán)輪詢策略
首先將請求都分給高權(quán)重的機器抖格,知道該機器的權(quán)重值降到了比其他機器低诺苹,才開始講請求分給下一個高權(quán)重的機器
當(dāng)所有后端機器都down掉時,Nginx會立即將所有機器的標(biāo)志位都清成初始狀態(tài)雹拄,已避免造成所有機器都處于timeout的狀態(tài)
2收奔、IP Hash策略
變相的輪詢算法
3、fair策略
根據(jù)后端服務(wù)器的響應(yīng)時間判斷負載情況滓玖,從中選擇出負載最輕的機器進行分流
4坪哄、通用Hash和一致性Hash
通用hash比較簡單,可以以nginx內(nèi)置的變量key進行hash势篡,一致性hash采用nginx內(nèi)置的一致性hash環(huán)翩肌,支持memcache
http{
Upstream cluster{
ip_hash;
server 127.0.0.1:8080 weight=10;
server 127.0.0.1:8081 weight=9;
server 127.0.0.1:8082 weight=9;
}
server {
Listen:8080
location / {
proxy_pass http://cluster;
}
}
server {
Listen:8081
location / {
Proxy_pass http://cluster;
}
}
server {
Listen:8082
location / {
Proxy_pass http://cluster;
}
}
}
四、四層負載均衡的實現(xiàn)
通過報文中的目標(biāo)地址和端口禁悠,在加上負載均衡設(shè)備設(shè)置的服務(wù)器選擇方式和念祭,決定最終選的內(nèi)部服務(wù)器
LVS實現(xiàn)服務(wù)器集群負載均衡的三種方式,NAT碍侦,DR和TUN