国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

Nginx 實現灰度發布的三種方法總結

2024-08-30 12:22:49
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Nginx 實現灰度發布的三種方法總結的相關資料,需要的朋友可以參考下

Nginx 實現灰度發布的三種方法總結

灰度發布的主要原理是訪問路由的控制,重點是保證每次訪問的是同一個節點。

方式一:通過調節負載均衡權重

        負載均衡 建立在現有網絡結構之上,它提供了一種廉價有效透明的方法擴展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性。

        負載均衡,英文名稱為Load Balance,其意思就是分攤到多個操作單元上進行執行,例如Web服務器、FTP服務器、企業關鍵應用服務器和其它關鍵任務服務器等,從而共同完成工作任務。

簡單配置如下:

http {   upstream cluster {     ip_hash; #如果你的系統中沒有使用第三方緩存管理工具 ,建議使用此方式    server 192.168.1.210:80 weight=5;     server 192.168.1.211:80 weight=3;     server 192.168.1.212:80 weight=1;   }     server {     listen 80;    location / {     proxy_next_upstream   error timeout;  proxy_redirect     off;  proxy_set_header    Host $host;  #proxy_set_header    X-Real-IP $remote_addr;  proxy_set_header    X-Real-IP $http_x_forwarded_for;  proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;  client_max_body_size  100m;  client_body_buffer_size 256k;  proxy_connect_timeout  180;  proxy_send_timeout   180;  proxy_read_timeout   180;  proxy_buffer_size    8k;  proxy_buffers      8 64k;  proxy_busy_buffers_size 128k;  proxy_temp_file_write_size 128k;  proxy_pass http://cluster;     }   } } 

這種方式灰度發布通過weight來實現,但是這種方式只適合修改節點的行為,而且要求應用都是一模一樣的,其實質作用是,節點增加或刪除之后,對負載能力的調節,最終目的是為了讓流量最終保持均衡。

方式二.使用nginx+lua實現web項目的灰度發布

location / { content_by_lua '      myIP = ngx.req.get_headers()["X-Real-IP"]      if myIP == nil then        myIP = ngx.req.get_headers()["x_forwarded_for"]      end      if myIP == nil then        myIP = ngx.var.remote_addr      end      if myIP == "公司出口IP" then        ngx.exec("@client")      else        ngx.exec("@client_test")      end    ';} location @client{  proxy_next_upstream   error timeout;  proxy_redirect     off;  proxy_set_header    Host $host;  #proxy_set_header    X-Real-IP $remote_addr;  proxy_set_header    X-Real-IP $http_x_forwarded_for;  proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;  client_max_body_size  100m;  client_body_buffer_size 256k;  proxy_connect_timeout  180;  proxy_send_timeout   180;  proxy_read_timeout   180;  proxy_buffer_size    8k;  proxy_buffers      8 64k;  proxy_busy_buffers_size 128k;  proxy_temp_file_write_size 128k;  proxy_pass http://client;}location @client_test{  proxy_next_upstream   error timeout;  proxy_redirect     off;  proxy_set_header    Host $host;  #proxy_set_header    X-Real-IP $remote_addr;  proxy_set_header    X-Real-IP $http_x_forwarded_for;  proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;  client_max_body_size  100m;  client_body_buffer_size 256k;  proxy_connect_timeout  180;  proxy_send_timeout   180;  proxy_read_timeout   180;  proxy_buffer_size    8k;  proxy_buffers      8 64k;  proxy_busy_buffers_size 128k;  proxy_temp_file_write_size 128k;  proxy_pass http://client_test;} 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 稷山县| 双峰县| 永泰县| 岳普湖县| 包头市| 阳谷县| 宁晋县| 司法| 龙州县| 汝城县| 蓬溪县| 安仁县| 法库县| 汶上县| 肥乡县| 惠东县| 从化市| 赞皇县| 景德镇市| 泽普县| 鱼台县| 乐亭县| 大埔区| 资溪县| 大宁县| 祁东县| 怀集县| 澎湖县| 西华县| 辽中县| 衡南县| 高邑县| 天长市| 河南省| 浪卡子县| 瑞安市| 周宁县| 榆林市| 额尔古纳市| 凤阳县| 师宗县|