mse~路由實(shi)現某個頁面的灰度(du)功能
起因
我有個網(wang)站A【藍色服(fu)務(wu)】,要(yao)對網(wang)站A進行(xing)改版【綠(lv)色服(fu)務(wu)】,其中(zhong)用(yong)戶(hu)(hu)中(zhong)心已(yi)經(jing)改完了,希(xi)望當用(yong)戶(hu)(hu)訪問時(shi),如(ru)果(guo)http請求頭(tou)中(zhong)包含isGroup,并且isGroup=1時(shi),去新的綠(lv)色服(fu)務(wu),反之就(jiu)還(huan)是去藍色服(fu)務(wu)。
前提
- 藍綠服務,域名是同一個,如
lind.gray.com - 藍綠服務,各個頁面的URL是同一個
- 用戶測在訪問URL時,它們不清楚將要到哪個環境,藍綠環境是在網關路由中轉發的
藍綠部署
藍綠部署(Blue-Green Deployment)是一種軟件(jian)發(fa)布策略,旨在減少系統停機時(shi)間(jian)和風險(xian),同時(shi)確(que)保用戶體(ti)驗(yan)的連續性。以下是關(guan)于藍綠部署的一些(xie)關(guan)鍵點(dian):
藍綠部署的基本概念
環境劃分:
- 在藍綠部署中,通常會有兩個相同的生產環境:一個是“藍色”環境,另一個是“綠色”環境。
- “藍色”環境當前正在處理所有的生產流量,而“綠色”環境則用于新版本的部署和測試。
切換流量:
- 當新的應用版本在“綠色”環境中經過充分測試后,可以通過改變負載均衡器的配置,將流量從“藍色”環境切換到“綠色”環境。
- 這種切換可以迅速完成,從而最小化用戶感知到的中斷。
回滾機制:
- 如果在“綠色”環境中發現問題,可以快速將流量切回“藍色”環境,實現無縫回滾,保障系統的穩定性。
MSE上的實踐
一 進行藍色和綠色服務里,在路由中開啟灰度發布,配置灰度策略,可在一個綠色服務中配置即可
二 如果希望對某個頁面進行藍綠部署,如/user/center用戶(hu)中(zhong)心實(shi)現(xian)它,你需(xu)要下面(mian)的操作(zuo)
- 添加新的路徑,域名還是之前的,如
lind.gray.com - 配置路徑標識:/user/center,藍綠兩個服務都要配置

- 配置灰度策略,藍色服務,不用配置

- 綠色服務,需要開啟灰度發布,并添加策略,如header中包含isGroup=1的值,走綠色新的服務,
綠色服務的路由里,只配置具體要灰度的頁面即可,如果要求全站都灰色,路徑就是/即可


測試
- 當你訪問
lind.gray.com時,直接訪問藍色,老版服務 - 當你訪問
lind.gray.com/user/center時,還是直接訪問藍色,老版服務 - 當你訪問
lind.gray.com/user/center,并且在http請求頭中包含isGroup=1時,會訪問綠色,新版服務的/user/center頁面