eureka實現線上平滑切換服務


背景:每次重啟都要告知測試或者客戶在維護,線上QPS稍微有點高,維護的代價比較大,且維護次數頻繁。經過被噴了多次之后總結下定決心解決這個eureka服務重啟的坑

eureka有個特點就是輪詢去查詢服務端的健康狀態。默認是90s一次。可以通過一定的配置更改縮短時間,然而更改這個配置需要謹慎。

因此想到了兩個方案,一個是直接調用eureka server API切換 一個是直接使用全家桶的spring-boot-actuator。

我這邊使用的是簡單粗暴的方式調用eureka server API。采用藍綠發布的模式實現自由切換微服務的注冊。從而對線上的影響達到0的風險,也無需停機

當服務只有一個的時候,腳本啟動多一個備用的服務,eureka先等備用服務啟動完成並且注冊成功。
當成功注冊后,則將舊有的服務移出eureka下架。

注:需要更改eureka server的主動掃描時間,eureka client不推薦更改,經過多次的實驗,如果同步時間一致,會偶爾出現404 服務實例找不到。實則已經注冊成功,網關一直無法捕捉到實例。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM