灰階釋出是針對 "全量釋出" 的改進,即按照一定的政策上線部分新版本,同時保留老版本,然後讓部分使用者體驗新版本,通過一段時間新版本的回報收集,再決定是否逐漸更新直至全量更新或全部復原到老版本。
API在疊代過程中不斷會有新版本釋出。為了保證API在新、舊版本間平滑過渡以及線上業務的穩定運作,可在新版本正式釋出前,使用得帆雲iPaaS灰階釋出插件配置應用系統、路由上的灰階釋出政策,進行灰階測試,控制灰階流量。
編排型、快速開發型API都支援釋出在灰階服務組的伺服器中,通過小規模驗證再進行全量更新,減少産品疊代更新所影響的範圍,避免全量釋出引起的伺服器崩潰,保證整體系統的穩定。
「網關插件管理-灰階釋出」
場景一
某公司統計青年老年數量的接口已在正式環境釋出且正常穩定運作。現增加統計男女數量需求,開發了性能更優的1.0.1新版本,能統計青年老年人數量以及男女數量。公司希望能標明試用組消費者在正式環境先進行試用,且不影響普通消費者的調用,最後根據一段時間後的使用情況,驗證1.0.1版本是否能夠滿足需求并穩定運作。
「API詳情頁-版本管理」
1、使用步驟
1)首先需在「系統-灰階服務組」菜單中建立不同環境用于灰階測試的伺服器,建立伺服器時需要維護伺服器的基本資訊和關聯資訊,且不可與虛拟服務組内的伺服器位址以及端口号一緻。
「網關管理-灰階服務組」
「添加灰階伺服器」
2)然後将新版本1.0.1接口釋出到灰階服務組。釋出成功的接口在「運作清單」、「釋出記錄」頁面會有灰階辨別。
「版本1.0.2釋出到灰階服務組内」
「運作清單頁面灰階辨別」
3)在「網關管理-網關插件管理」處開啟灰階釋出插件,可通過配置控制應用系統、路由上的灰階釋出流量比例等資訊進行灰階測試。本場景中可在該API路由上開啟「灰階釋出」插件,配置灰階流量比例為100%,根據消費者以及有效期設定灰階政策範圍,在有效期内傳輸設定的消費者資訊便可根據灰階流量比例進行調用。
「開啟灰階釋出插件」
「網關插件管理-配置灰階釋出政策」
2、應用效果
完成以上設定後,在當試用組001消費者不帶版本号調用API時,将通過灰階釋出插件配置通路灰階服務組的版本1.0.2統計青年老年以及男女的數量,普通消費者不帶版本号調用API時,則将正常通路應用系統服務組的版本1.0.0統計青年老年的數量。
灰階服務組中的API在「調用日志」頁面會有灰階辨別。另外可選擇不同的消費者參與灰階測試,提前獲得使用回報,并判斷1.0.1版本能否滿足需求并進行優化,縮減風險影響範圍。
「試用組001消費者調用」
「普通消費者調用」
場景二
某環境資料源遷移工作完成,要提前對遷移後的資料源進行測試,避免因為資料遷移過程中出現資料丢失情況,對使用者使用産生影響,導緻正式更換資料源後不能正常工作。
測試方法為同樣的快速開發類型查詢接口分别對原資料源以及遷移後的資料源進行查詢,驗證遷移後的資料源是否能夠穩定支援工作。
「API詳情頁-版本管理」
1、使用步驟
1)将測試遷移後資料源的1.0.1版本接口釋出到灰階服務組。
「1.0.1版本接口釋出到灰階服務組」
2)在「網關管理-網關插件管理」處開啟灰階釋出插件,本場景中可在該API路由上開啟「灰階釋出」插件,并配置灰階流量比例為50%。
「配置灰階釋出政策」
2、應用效果
完成以上設定後在postman調用API時,50%的請求正常通路應用系統服務組的版本1.0.0查詢原資料源,剩餘50%的請求将轉發通路灰階服務組的版本1.0.1查詢遷移後的資料源。接口的運作情況反映資料源的穩定情況,可為資料遷移工作提供參考依據。
「50%的請求通路版本1.0.0」
「50%的請求通路版本1.0.1」
得帆雲iPaaS灰階釋出插件能夠為特定使用者提供新版本服務,降低釋出風險,減少影響範圍,通過擷取使用者的回報意見,在初始灰階的時候快速發現問題,進行版本優化,最終完成接口版本的新舊交替,且能夠保證整體系統的穩定性。