你還在生產環境改程式碼麼?函式計算版本管理(三)使用別名進行灰度釋出
通過了解阿里雲函式計算新功能版本管理在事件驅動模式中的使用,我們看到了別名是如何簡化新版本上線的過程的。然而現實是殘酷的,直接更改別名指向的版本來升級服務時,往往會出現新版本引入帶來的不穩定,有沒有更好的方法呢?別名的灰度釋出功能該登場了。函式計算提供的別名,可以指向一個主版本和一個灰度版本,並指定灰度版本的權重。這樣就可以靈活調整兩個版本間的流量分佈,很大限度地減少上線新版本引起的不穩定。
如上圖所示,假設我們已經有別名Prod指向穩定的版本1,此時版本2也已經發布好準備上線。我們可以採用灰度釋出的方式,更改Prod別名將灰度版本設定為2,灰度百分比設定為5%。更新後Prod指向的主版本仍然為版本1,函式計算會轉移5%的流量到版本2,剩餘95%的流量仍然由版本1來服務。當確定版本2穩定執行後,再更新別名Prod的主版本為版本2,從而完全切換到新版本。
當別名的灰度釋出功能被使用時,您可以通過以下三種方式來確定被呼叫的服務版本:
- 如果您為自己的服務配置了日誌服務,每次函式呼叫,都可以檢視到相關日誌。日誌中的“isDarkLaunch”欄位表示此次呼叫命中的是灰度釋出的版本,“externalServiceVersion”欄位表示此次呼叫使用的具體服務版本。
-
每次函式呼叫,Context物件的Service資訊中會包括版本資訊,其中 “qualifier”欄位表示呼叫函式時傳入的版本資訊,“versionId”表示根據qualifier解析出的具體版本號。
- 每次同步函式呼叫,響應中都包含 “x-fc-invocation-service-version” header以指示呼叫的服務版本。
通過別名的灰度釋出功能,流量可以在不同的版本間輕鬆切換,讓新版本的上線更安全!總結一下:
- 使用別名Prod指向穩定的版本1,線上的呼叫都通過別名來進行。
- 當新版本2準備上線時,將Prod的灰度版本設為版本2,權重從5%開始。
- 觀察版本2線上上表現穩定後,更新別名Prod指向版本2。
版本管理功能文件:
相關文章
- 在生產環境使用Docker部署應用Docker
- Telescope 在生產環境配置的許可權,還是彈出 403 頁面
- 手把手教你搭建一個灰度釋出環境
- Java列舉類在生產環境中的使用方式Java
- ForkJoinPool在生產環境中使用遇到的一個問題
- Vue 3.0 Beta 版本釋出,你還學的動麼?Vue
- 使用 Webpack 進行生產環境配置(附 Demo)Web
- excel怎麼自己輸入公式計算 excel怎麼編輯函式進行計算Excel公式函式
- 專案開發中,如何使用eolinker進行環境管理:開發、測試和生產環境
- Nacos 釋出 1.0.0 GA 版本,可大規模投入到生產環境
- Spring Boot整合Spring Cloud Release進行版本釋出管理Spring BootCloud
- 在生產環境中使用預寫日誌WAL的SQLite - victoriaSQLite
- [譯] 四個理由讓你使用灰度色調進行設計
- 怎麼Jenkins配置分散式環境的安全釋出?Jenkins分散式
- 只更新程式碼,然後釋出版本:基於 Serverless Devs 原子化操作阿里雲函式計算Serverdev阿里函式
- TDengine 2.6 正式釋出,新增大量計算函式函式
- PyCharm 使用 Anaconda 管理多版本 Python 環境PyCharmPython
- Visual Studio使用Git進行程式碼版本管理Git行程
- JeecgBoot 如何在生產環境關閉 Swagger 文件bootSwagger
- linux環境下使用jmeter進行分散式測試LinuxJMeter分散式
- useCookie函式:管理SSR環境下的CookieCookie函式
- 怎麼用Jenkins配置分散式環境的安全釋出?Jenkins分散式
- 函式計算工具鏈新成員——FunLocal釋出啦函式
- 改進你的c#程式碼的5個技巧(三)C#
- 雲端設計平臺Coohom在生產環境中使用istio的經驗與實踐
- 如何建立 Angular library 並在生產環境中消費Angular
- 如何改進你的指令碼程式指令碼
- 函式計算工具鏈新成員 —— Fun Local 釋出啦函式
- 函式計算進行自動化運維專題函式運維
- EMQX 多版本釋出、新增自定義函式功能MQ函式
- 單例模式在生產環境jedis叢集中的應用單例模式
- 關於灰度釋出,你得知道這些......
- 使用 Nginx Ingress 實現金絲雀釋出/灰度釋出Nginx
- 藉助Python 函式進行模組化程式碼Python函式
- 在生產環境中除錯 Angular 應用程式而不顯示源對映除錯Angular
- xmake v2.6.4 釋出,大量包管理特性改進
- 在生產中部署 ES2015+ 程式碼
- 函式計算: 讓小程式開發進入 Serverless 時代函式Server