nginx應用場景6 負載均衡

2021-09-16 13:26:15 字數 1679 閱讀 7442

地域

glsb:全域性負載均衡,global server load balance

slb:一般用到,伺服器負載均衡(server load balancing)

網路模型

負載均衡又分為四層負載均衡(傳輸層,tcp/ip)和七層負載均衡(應用層)

nginx就是典型的七層負載均衡伺服器。

nginx的負載均衡主要用到的是 proxy_pass:

預設是輪訓方式。一旦乙個節點出了問題,就不會顯示該節點

upstream舉例:

upstream imooc {

server 116.62.103.228:8001 down;

server 116.62.103.228:8002 backup;

server 116.62.103.228:8003 max_fails=1 fail_timeout=10s;

後端伺服器在負載均衡排程中的狀態:

down 當前的server暫時不參與負載均衡

backup 預留的備份伺服器

max_fails 允許請求失敗的次數

fail_timeout: 經過max_fails失敗後,服務暫停的時間

max_conns: 限制最大的接受的連線數

輪訓 按時間順序逐一分配不同的後端伺服器

加權輪訓 weight值越大,分配到的訪問機率越高

ip_hash 每個請求按訪問ip的hash結果分配,這樣來自同乙個ip固定訪問乙個後端伺服器

least_conn 最少鏈結數,哪個機器的連線數少就分發。

url_hash 按照訪問的url的hash結果來分配請求,使每個url定向到同乙個後端伺服器

hash關鍵數值 hash自定義的key

加權輪訓示例:

upstream imooc {

server 116.62.103.228:8001;

server 116.62.103.228:8002 weight=5;

server 116.62.103.228:8003;

ip_hash示例,但是它有乙個缺陷,如果前端走**,它的hash就不通了:

upstream imooc {

ip_hash;

server 116.62.103.228:8001;

server 116.62.103.228:8002;

server 116.62.103.228:8003;

url_hash方式:

upstream imooc {

hash $request_uri;

server 116.62.103.228:8001;

server 116.62.103.228:8002;

server 116.62.103.228:8003;

負載均衡的應用場景

負載均衡適用於高訪問量的業務,提高應用程式的可用性和可靠性。應用於高訪問量的業務 如果您的應用訪問量很高,您可以通過配置監聽規則將流量分發到不同的ecs例項上。此外,您可以使用會話保持功能將同一客戶端的請求 到同一台後端ecs,提高訪問效率。擴充套件應用程式 消除單點故障 您可以在負載均衡例項下新增...

負載均衡實現方案與應用場景

負載均衡實現方案與應用場景 1.dns 伺服器解析客戶端請求的網域名稱,根據每個地方的網域名稱,然後去請求不同的伺服器應用。可能不及時,有快取。2.軟體實現 如nginx 均衡實現 1.輪詢 順序輪詢,隨機輪詢,權重配比輪詢,相當於輪詢的找伺服器。2.hash計算 根據計算某個值,值一樣了 ngin...

網路負載均衡適用場景

1.1 nlb的使用場景 1.1.1 web站點的負載平衡 某學院的web站點為了實現負載平衡,避免單點故障,考慮使用映象站點實現冗餘和負載平衡,這幾個映象站點放在dmz區,使用的資料庫放在企業的內網中。通過使用nlb技術這幾個web伺服器使用公共的位址22.34.3.100訪問dmz中的web伺服...