Nacos2.x集群下各nacos节点注册服务不一致问题

编程入门 行业动态 更新时间:2024-10-10 09:18:47

Nacos2.x集群下各nacos<a href=https://www.elefans.com/category/jswz/34/1771452.html style=节点注册服务不一致问题"/>

Nacos2.x集群下各nacos节点注册服务不一致问题

现象:

测试环境用Docker部署了Nacos2.0版本作为配置中心和服务注册中心。今天测试反馈,服务在调用时时通时不通。

 

现状:

集群搭建的方案如下图(搭建方法见:):

 

排查思路:

1、看服务是否注册成功:通过nginx打开nacos的服务列表页面,刷新了几次发现在线的服务数会变,不应该的,没有人在不希的重启服务的。

2、登录各节点nacos的服务列表页面,发现只有一个节点的服务是完整的,另两个节点的服务列表中没有包含完成的服务,这是怎么回事呢?是什么导致服务信息不同步呢?

怀疑:其中一个节点收到注册数据后,没有同步给其它节点

那为什么没有同步?同步机制是什么呢?

1、查看nacos.log的日志,日志没有异常信息。

2、奇怪之下,花了点时间看了一下源代码,当nacos服务收到服务注册请求时,会调用【DistroSyncChangeTask】这个类,用于向各nacos节点推送服务数据变更通知,且日志记录在protocol-distro.log中。

3、查看protocol-distro.log,发现有大量的 [DISTRO] Sync data change failed,异常信息,看来是网络配置上有问题了。

4、先官网看了一下2.0的手册 ,里面有项提示,而我们docker配置中并没有对这个端口映射。

5、验证,在docker配置中,增加9849的映射,重启既然好了。

如果是docker run 配置,增加 -p 自定端口:9849

如果是docker-compose,修改如下:

   ports:
      - "8848:8848"
      - "自定端口:9849"

 

 

更多推荐

Nacos2.x集群下各nacos节点注册服务不一致问题

本文发布于:2024-02-05 11:55:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1745295.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:节点   集群   nacos

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!