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

首頁(yè) > 網(wǎng)站 > Nginx > 正文

使用nginx模擬進(jìn)行金絲雀發(fā)布的方式

2024-08-30 12:24:38
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這篇文章介紹一下藍(lán)綠部署以及使用nginx如何最簡(jiǎn)單地模擬一下金絲雀發(fā)布的方式

金絲雀發(fā)布/灰度發(fā)布

金絲雀發(fā)布的重點(diǎn)在于:試錯(cuò)。金絲雀發(fā)布的來(lái)歷本身就是自然界的美麗生物在人類工業(yè)發(fā)展過(guò)程中的一個(gè)悲慘的故事。金絲雀就是用它的生命來(lái)為礦工的安全來(lái)試錯(cuò)的。用很小的成本來(lái)?yè)Q取整體的安全,在持續(xù)部署的實(shí)踐中,金絲雀就是流量控制,用很少的流量比如百分之一或者十分之一用于檢證某個(gè)版本是否正常,如果不正常則就用最低的成本實(shí)現(xiàn)了其作用,降低了風(fēng)險(xiǎn)。如果正常,則可以逐漸加大權(quán)重直至百分之百,將所有的流量都平穩(wěn)地切換至新的版本。灰度發(fā)布,一般來(lái)說(shuō)也是類似的概念。灰色是介于黑和白之前的一個(gè)過(guò)渡,區(qū)別于藍(lán)綠部署的非藍(lán)即綠,灰度發(fā)布/金絲雀發(fā)布會(huì)有一個(gè)兩者同時(shí)存在的時(shí)間段,只是兩者對(duì)應(yīng)的流量不同,金絲雀發(fā)布如果說(shuō)和灰度發(fā)布有所不同的話,其不同點(diǎn)應(yīng)該是目的性的不同,金絲雀發(fā)布目的在于試錯(cuò),而灰度發(fā)布在于平穩(wěn)發(fā)布,而在金絲雀發(fā)布沒(méi)有問(wèn)題的狀況下進(jìn)行的平穩(wěn)過(guò)渡則正是灰度發(fā)布。

模擬金絲雀發(fā)布

接下來(lái)我們使用nginx的upstream來(lái)簡(jiǎn)單模擬一下金絲雀發(fā)布的場(chǎng)景。具體場(chǎng)景如下, 當(dāng)前活躍的是主版本,通過(guò)調(diào)整nginx設(shè)定,通過(guò)不斷的調(diào)節(jié)金絲雀版本的權(quán)重,最終實(shí)現(xiàn)平穩(wěn)地發(fā)布。

事前準(zhǔn)備

事前在7001/7002兩個(gè)端口分別啟動(dòng)兩個(gè)服務(wù),用于顯示不同信息,為了演示方便,使用tornado做了一個(gè)鏡像,通過(guò)docker容器啟動(dòng)時(shí)傳遞的參數(shù)不同用于顯示服務(wù)的不同。

docker run -d -p 7001:8080 liumiaocn/tornado:latest python /usr/local/bin/daemon.py "Hello main service: v1 in 7001"docker run -d -p 7002:8080 liumiaocn/tornado:latest python /usr/local/bin/daemon.py "Hello canary deploy service: v2 in 7002"

執(zhí)行日志

[root@kong ~]# docker run -d -p 7001:8080 liumiaocn/tornado:latest python /usr/local/bin/daemon.py "Hello main service: v1 in 7001"28f42bbd21146c520b05ff2226514e62445b4cdd5d82f372b3791fdd47cd602a[root@kong ~]# docker run -d -p 7002:8080 liumiaocn/tornado:latest python /usr/local/bin/daemon.py "Hello canary deploy service: v2 in 7002"b86c4b83048d782fadc3edbacc19b73af20dc87f5f4cf37cf348d17c45f0215d[root@kong ~]# curl http://192.168.163.117:7001Hello, Service :Hello main service: v1 in 7001[root@kong ~]# curl http://192.168.163.117:7002Hello, Service :Hello canary deploy service: v2 in 7002[root@kong ~]#

啟動(dòng)nginx

[root@kong ~]# docker run -p 9080:80 --name nginx-canary -d nginx659f15c4d006df6fcd1fab1efe39e25a85c31f3cab1cda67838ddd282669195c[root@kong ~]# docker ps |grep nginx-canary659f15c4d006    nginx           "nginx -g 'daemon ..."  7 seconds ago    Up 7 seconds    0.0.0.0:9080->80/tcp   nginx-canary[root@kong ~]#            
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 永德县| 简阳市| 雅安市| 通道| 高州市| 栾川县| 奉节县| 德惠市| 仙居县| 鱼台县| 交城县| 奇台县| 兰州市| 雷波县| 阆中市| 响水县| 青铜峡市| 哈密市| 肇源县| 佛教| 宜宾县| 汾阳市| 科技| 深泽县| 永和县| 商丘市| 惠水县| 泸西县| 玉屏| 临夏县| 巴中市| 永康市| 临汾市| 宝鸡市| 常德市| 新和县| 定州市| 石楼县| 东源县| 太白县| 东明县|