注冊配置中心高可用最佳實踐
更新時間 2024-09-05 14:43:43
最近更新時間: 2024-09-05 14:43:43
分享文章
本章節介紹注冊配置中心Nacos引擎的高可用最佳實踐
概述
對于注冊配置中心而言,高可用是非常關鍵的。注冊配置中心是微服務體系中的核心依賴,當注冊配置中心不可用時,整個微服務體系都將無法對外提供服務。
本文將介紹注冊配置中心Nacos引擎的高可用最佳實踐。遵照下述設置,將發揮注冊配置中心最大的高可用能力。
版本推薦
spring-cloud:推薦使用2.2.6.RELEASE及以上版本。
dubbo:推薦使用2.7.12及以上版本。
spring-boot:推薦使用2.3.x及以下版本,2.4.x版本存在兼容問題,不推薦使用。
集群高可用
實例在開通時將提供以下選項,遵照這些選項進行設置,將提升集群的高可用能力。
- 多節點:提供多節點集群的選項。對于Nacos引擎而言,節點數為奇數(3,5,7,9)。集群節點數越多,可用性越高。
- 跨可用區:對于多節點的Nacos集群,可提供跨可用區部署。使用跨可用區部署時,節點的故障發生事件將相互獨立,集群可用性將進一步提高。
注意您需要在開通實例時指定可用區模式為“多可用區部署”,才能觸發跨可用區高可用能力。
此外,注冊配置中心實例將提供額外的手段以提高集群的可用性,這些手段是實例自動附帶的,默認為開啟狀態。這些手段包括:
- 服務進程保活。-Nacos引擎提供了進程保活機制對機器中的Nacos進程進行探測和自動拉起。
- 典型異常故障自愈。
- 服務可用性實時探活,極端情況下,不可用時自動告警,人工將介入恢復,保障可用性。
注冊中心高可用
Nacos引擎提供了以下服務端機制來提高注冊中心的高可用能力,這些能力默認為開啟狀態,您無需開啟即可獲得高可用能力提升:
- 服務端推空保護。當Nacos服務端在一定時間窗口檢測到的不健康服務增量大于閾值時,服務端將進入推空保護模式,向客戶端推送服務的舊數據,而不是空服務,以保障服務消費者不會獲取到空服務信息,從而提高可用性。
- 客戶端心跳上報,服務端定期驅逐不健康服務,以保證服務消費者獲取到的服務數據的實時性。
配置中心高可用
開源Nacos提供了以下客戶端機制來提高配置中心的高可用能力,這些能力默認為開啟狀態,您無需開啟即可獲得高可用能力提升:
配置本地緩存。當配置中心服務不可用時,客戶端將從本地緩存中獲取上一次成功獲取到的配置數據。