日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

蓝绿部署、A/B测试以及灰度发布

發布時間:2024/5/14 编程问答 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蓝绿部署、A/B测试以及灰度发布 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

過去的10年里,很多大公司都在使用藍綠部署,安全、可靠是這種部署方式的特點。藍綠部署雖然算不上”Sliver Bullet“,但確實很實用。在有關于“微服務”、“DevOps”、“Cloud-native”的討論中,藍綠部署、A/B測試、灰度發布,這三種部署方式往往同時出鏡。

那么問題來了,藍綠部署、A/B測試、灰度發布,這三者之間究竟有何不同?

藍綠部署

Martin Flower曾在文章中闡述了藍綠部署的整體要點,建議大家看看。

基本上,藍綠部署是一種以可預測的方式發布應用的技術,目的是減少發布過程中服務停止的時間。

簡單來說,你需要準備兩個相同的環境(基礎架構),在藍色環境運行當前生產環境中的應用,也就是舊版本應用,如圖中App1 version1、App2 version1、App3 version3。

當你想要升級App2到version2,在藍色環境中進行操作,即部署新版本應用,并進行測試。如果測試沒問題,就可以把負載均衡器/反向代理/路由指向藍色環境了。

隨后你需要監測新版本應用,也就是App2 version2是否有故障和異常。如果運行良好,就可以刪除App2 version1使用的資源。如果運行出現了問題,你可以通過負載均衡器指向快速回滾到綠色環境。

理論上聽起來很棒,但還是要注意一些細節:

  • 當你切換到藍色環境時,需要妥當處理未完成的業務和新的業務。如果你的數據庫后端無法處理,會是一個比較麻煩的問題;

  • 有可能會出現需要同時處理“微服務架構應用”和“傳統架構應用”的情況,如果在藍綠部署中協調不好這兩者,還是有可能導致服務停止的;

  • 需要提前考慮數據庫與應用部署同步遷移/回滾的問題;

  • 藍綠部署需要有基礎設施支持

  • 在非隔離基礎架構(VM、Docker等)上執行藍綠部署,藍色環境和綠色環境有被摧毀的風險

A/B Testing

A/B測試跟藍綠部署完全是兩碼事。

A/B測試是用來測試應用功能表現的方法,例如可用性、受歡迎程度、可見性等等。A/B測試通常用在應用的前端上,不過當然需要后端來支持。

A/B測試與藍綠部署的區別在于,A/B測試目的在于通過科學的實驗設計、采樣樣本代表性、流量分割與小流量測試等方式來獲得具有代表性的實驗結論,并確信該結論在推廣到全部流量可信;藍綠部署的目的是安全穩定地發布新版本應用,并在必要時回滾。

A/B測試和藍綠部署可以同時使用。

灰度發布/金絲雀發布

灰度發布是在原有版本可用的情況下,同時部署一個新版本應用作為“金絲雀”(金絲雀對瓦斯極敏感,礦井工人攜帶金絲雀,以便及時發發現危險),測試新版本的性能和表現,以保障整體系統穩定的情況下,盡早發現、調整問題。

灰度發布/金絲雀發布由以下幾個步驟組成:

  • 準備好部署各個階段的工件,包括:構建工件,測試腳本,配置文件和部署清單文件。
  • 從負載均衡列表中移除掉“金絲雀”服務器。
  • 升級“金絲雀”應用(排掉原有流量并進行部署)。
  • 對應用進行自動化測試。
  • 將“金絲雀”服務器重新添加到負載均衡列表中(連通性和健康檢查)。
  • 如果“金絲雀”在線使用測試成功,升級剩余的其他服務器。(否則就回滾)

總結

對于云計算來說,以上三種策略都是可用的。不難想象,通過docker和kubernetes,我們可以很簡單的實現藍綠部署、A/B測試、灰度發布……比如好雨云,深度整合Docker和Kubernetes,提供給用戶包括代碼滾動上線、一鍵代碼回滾等功能和特性在內的強大的CI/CD體驗:)

Author Christian Posta
Trans by 好雨科技

總結

以上是生活随笔為你收集整理的蓝绿部署、A/B测试以及灰度发布的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。