Nacos心跳時間配置及服務快速上下線

Nacos心跳時間配置及服務快速上下線
Nacos默認心跳時間是30秒,不太滿足正式環境需要,需要調整心跳時間更短,讓線上服務上下線能快速感知.

1.修改微服務的nacos的心跳配置時間
preserved.heart.beat.interval: 1000 #該實例在客戶端上報心跳的間隔時間。(單位:毫秒)
preserved.heart.beat.timeout: 3000 #該實例在不發送心跳後,從健康到不健康的時間。(單位:毫秒)
preserved.ip.delete.timeout: 3000 #該實例在不發送心跳後,被nacos下掉該實例的時間。(單位:毫秒)

如我的一個微服務tower-system的配置如下

spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
metadata:
preserved.heart.beat.interval: 1000
preserved.heart.beat.timeout: 3000
preserved.ip.delete.timeout: 3000
1
2
3
4
5
6
7
8
9
2.修改spring cloud的gateway的ribbion配置
修改了步驟1中的配置後,nacos的控制檯,能保證微服務3秒內能快速響應上下線,但我們的訪問是通過gateway統一訪問的,gateway集成了ribbion的負載均衡功能,其默認是定時一定的時間間隔去nacos拉取最新的服務實例數據到本地緩存,因此,僅僅修改nacos的配置,還是不能保證能及時的進行服務上下線,需要設置ribbon.ServerListRefreshInterval,增加拉取nacos中最新服務實例的頻率,如下`

#ribbon config,Interval to refresh the server list from the source
ribbon:
ServerListRefreshInterval: 3000
1
2
3
3.總結
步驟1可能需要花3秒中更新實例,步驟2定時拉取nacos最新實例需要最快3秒,因此加起來,可能需要花費最多6秒,能使最新的服務生效
————————————————
版權聲明:本文爲CSDN博主「冰之杍」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/jxlhljh/article/details/119875072

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章