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

现象:

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

 

现状:

集群搭建的方案如下图(搭建方法见:https://blog.csdn.net/Alfalfa99/article/details/108042109):

 

排查思路:

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"

 

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nacos是一个开源的分布式服务发现、配置和管理平台,支持多种协议(Dubbo、gRPC、HTTP、Spring Cloud等)和多种数据存储方式(MySQL、Mongodb、Memory等)。nacos集群节点是指在nacos平台上运行的多个实例,这些实例可以通过互相通信来实现服务注册、发现和配置管理。以下是nacos集群节点的介绍和演示: 1. nacos集群节点的介绍 nacos集群节点可以通过以下步骤来实现: - 部署多个nacos实例,每个实例都有自己的IP地址和端口号。 - 将这些实例配置为集群模式,以便它们可以相互通信并共享数据。 - 配置负载均衡器,将请求分发到不同的nacos实例上,以实现负载均衡和高可用性。 2. nacos集群节点的演示 以下是一个简单的nacos集群节点演示: - 假设我们有三个nacos实例,它们的IP地址和端口号分别为:192.168.150.188:8848、192.168.150.189:8848和192.168.150.190:8848。 - 在每个实例的配置文件中,将cluster.enabled设置为true,以启用集群模式。 - 启动这三个实例,并确保它们都已成功启动。 - 配置nginx负载均衡器,将请求分发到这三个实例上。以下是一个简单的nginx配置文件示例: ```nginx http { upstream nacos_cluster { server 192.168.150.188:8848; server 192.168.150.189:8848; server 192.168.150.190:8848; } server { listen 80; server_name nacos.example.com; location / { proxy_pass http://nacos_cluster; } } } ``` - 保存并关闭nginx配置文件,并重新加载nginx配置。 - 现在,您可以通过访问http://nacos.example.com来访问nacos集群节点了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值