首先了解一下概念:《藍綠部署、紅黑部署、AB測試、灰階釋出、金絲雀釋出、滾動釋出的概念與差別》
Nepxion Discovery:
最近公司項目在做架構更新,更新為 Spring Cloud,我們希望能夠做到服務的灰階釋出,根據通路量逐漸切換用新版本替換老版本,并且能夠做到代碼零入侵的,畢竟每次釋出要修改代碼真的不是什麼好的體驗,而且容易引出其它的非代碼級别的錯誤導緻無法釋出成功。但是 Spring Cloud 在這一方面好像沒有提供什麼方案。是以我們在網上大範圍的查找,終于找到了一款服務我們需求的灰階釋出工具Nepxion Discovery。
Nepxion Discovery是一款對Spring Cloud Discovery服務注冊發現、Ribbon負載均衡、Feign和RestTemplate調用的增強中間件,其功能包括灰階釋出(包括切換釋出和平滑釋出)、服務隔離、服務路由、服務權重、黑/白名單的IP位址過濾、限制注冊、限制發現等,支援Eureka、Consul、Zookeeper和阿裡巴巴的Nacos為服務注冊發現中間件,支援阿裡巴巴的Nacos、攜程的Apollo和Redis為遠端配置中心,支援Spring Cloud Api Gateway(Finchley版)、Zuul網關和微服務的灰階釋出,支援多資料源的資料庫灰階釋出等客戶特色化灰階釋出,支援使用者自定義和程式設計灰階路由政策(包括RPC和REST兩種調用方式),相容Spring Cloud Edgware版和Finchley版(不支援Dalston版,因為它的生命周期将在2018年12月結束,如果您無法回避使用Dalston版,請自行修改源碼或者聯系我)。現有的Spring Cloud微服務很友善引入該中間件,代碼零侵入。
Nepxion Discovery官方有詳細接入教程以及 Demo,在這裡我就不贅述了(畢竟再寫也是 copy) 大家有這個需要的還是官網檢視吧,位址: https://github.com/Nepxion/Discovery