开发者社区> 问答> 正文

为什么Nacos心跳持续报错但⽣产环境上没观察到服务被踢下线的情况?

为什么Nacos心跳持续报错但⽣产环境上没观察到服务被踢下线的情况?

展开
收起
游客kvzazfncej2yu 2022-01-04 10:34:03 1319 0
1 条回答
写回答
取消 提交回答
  • 因为有以下情况:

    1.只有当心跳发到不是自己负责的节点上时,才会发生转发,从而丢失 body 里 beat 参数。

    2.客户端发心跳出错时会重试 3 次。

    3.客户端每 5s ⼀次心跳,Server 端超过 30s 没有收到正确的心跳后才会把实例设为不健康。也就是客户端发送的心跳需要连续(1+3)*6=24 次心跳都没发到负责的节点上时,实例才会被标记为不健康。3 个节点的集群,这个概率大约是 百万分之 5。

    4.生产环境上⼀个服务⼀般都会至少有两个以上实例,⼀个实例不健康不影响服务。 综上,生产环境上很难观察到服务被下线的情况。但是会有大量的心跳出错重试的问题,需要尽快把Nacos server 升级上去。

    资料来源:《Nacos架构&原理》,下载链接为:https://developer.aliyun.com/topic/download?id=8230。

    2022-01-04 11:24:05
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Nacos架构&原理 立即下载
workshop专场-微服务专场-开发者动手实践营-微服务-使用Nacos进行服务的动态发现和流量调度 立即下载
Nacos 启航,发布第一个版本, 云原生时代助力用户微服务平台建设 立即下载