nacos集群无法正确显示服务列表问题
起因是在使用dubbo的过程中,选用的注册中心是nacos,并且使用的nacos集群。
应用启动后,在nacos控制台查看注册的服务列表,包括消费者和服务者,都无法及时刷新。刷新的唯一方式是重启nacos。
后面经过一系列排查,发现我们的nacos集群是三个节点的,这是正常的并且也是nacos推荐的。但是,nacos启动的时候会把内网ip也自动的加入到cluster列表中。比如,启动前,nacos集群的/nacos/conf/cluster.conf文件如下配置:
然后使用集群方式启动nacos,再次查看cluster.conf文件,会发现cluster.conf文件中的ip列表变成了四个,如:
多出来的一个就是启动节点的内网ip。这会导致本来是三个节点的nacos集群,变成了四个节点。而偶数个节点会导致nacos集群无法选举出leader节点。没有leader点会导致nacos集群中的通信异常,所以导致集群无法正确及时的显示服务列表。为了避免这种情况,可以在nacos的/nacos/conf/application.properties文件中配置nacos.inetutils.ip-address,如图:
这样子启动后,nacos就不会自动加入内网ip到nacos集群了。
nacos集群节点数恢复到奇数后,服务页面便能正常显示
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构