天天看點

灰階釋出 通過 nginx + 負載均衡實作

文章目錄

  • 1、介紹
  • 2、nginx配置負載均衡
  • 3、啟動nginx
  • 4、測試日志
  • 5、備注

1、介紹

伺服器:1台

服務:一個

端口:三個(一個對外接口(80),兩個内部服務接口(3002, 3022))

nginx:一份

思路:配置負載,不管我們後端服務有沒有啟動,nginx是可以正常啟動的。那麼我可以認為nginx目前在監聽的端口有兩個3002和3022,那麼如果我們3002服務挂了,那麼這個時候nginx是将我們的請求轉發到3022上面。那麼我們在更新背景服務的時候,隻需要啟動另外一個端口成功後,在将開始的一個端口關閉掉就可以讓使用者無感更新,背景使用運作一個項目,更新内外一個端口,停掉開始的

灰階釋出 通過 nginx + 負載均衡實作

2、nginx配置負載均衡

Nginx目前支援6種方式的負載均衡政策:

輪詢(預設方式)

weight(權重方式)

ip_hash(依據ip配置設定方式)

least_conn(最少連接配接方式)

fair(第三方提供的響應時間方式)

url_hash(第三方通過的依據URL配置設定方式)

server {
    listen 80;
    server_name  111.11.111.21;

    location / {
        proxy_set_header  Host  $http_host;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass  http://real_server;
   }
}

// 權重
upstream real_server {
       server 127.0.0.1:3002 weight=1;  #輪詢伺服器和通路權重
       server 127.0.0.1:3022 weight=2;
 }
 
// 最少連接配接方式,把請求發給連結數最少的後端伺服器
//upstream real_server {
//  least_conn;
//  server [IP位址]:[端口号] weight=2;
//  server [IP位址]:[端口号];
//}
           

3、啟動nginx

參考下一遍文章:docker部署nginx

4、測試日志

啟動3002端口:

灰階釋出 通過 nginx + 負載均衡實作

啟動3022端口:

灰階釋出 通過 nginx + 負載均衡實作

啟動3002、3022端口:

灰階釋出 通過 nginx + 負載均衡實作

繼續閱讀