开发者社区 > 云原生 > 正文

只有重启所有Nacos节点或者将微服务重启,重新注册才会恢复正常。各位大佬有遇到过吗?

最近遇到K8s搭建的2.1.1和2.0.1 版本的3节点的Nacos,其中两个Nacos异常后,重启恢复了。Nacos节点信息查看也是正常的,每个节点也能独立正常访问。但是注册的服务会出现自动频繁上下线问题。只有重启所有Nacos节点或者将微服务重启,重新注册才会恢复正常。各位大佬有遇到过吗

展开
收起
嘟嘟嘟嘟嘟嘟 2023-10-26 14:23:10 321 0
2 条回答
写回答
取消 提交回答
  • 这个问题可能是由于Nacos集群中的节点状态同步出现了问题导致的。在Nacos集群中,每个节点都会保存一份集群的状态信息,包括其他节点的状态和位置信息。当某个节点出现问题时,可能会导致这部分信息的丢失或不准确,从而影响到服务的注册和发现。

    解决这个问题的一个可能的方法是优化Nacos的故障检测和恢复机制。具体来说,你可以考虑以下几种方案:

    1. 增加心跳检测:Nacos集群中的节点之间会定期发送心跳消息来检测对方的存活状态。你可以尝试增加心跳检测的频率,以便更快速地发现和隔离出问题的节点。

    2. 优化数据同步:Nacos集群中的节点会通过gRPC协议进行数据同步。你可以尝试优化gRPC的配置,以提高数据同步的效率和稳定性。

    3. 使用外部负载均衡器:你也可以考虑使用外部负载均衡器(如Nginx、HAProxy等)来分发流量,而不是依赖于Nacos集群内部的负载均衡。这样可以避免因单个节点的故障而影响到整个集群的服务。

    4. 增加节点数量:增加Nacos集群的节点数量可以提高系统的可用性和稳定性。但是,这也需要更多的资源,并且可能会增加管理的复杂性。

    2023-10-27 10:23:47
    赞同 展开评论 打赏
  • 使用了k8s就建议别用nacos了。此回答整理自钉群“Nacos社区群4”

    2023-10-26 14:36:13
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

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