前言

记录一下调试远程和本地代码的时候,下线Nacos远程服务报错问题

问题复现

192.168.150.1是本地运行的服务, 101是服务器部署的服务,现在我需要让接口调用Nacos的时候走192.168.150.1有两种方法,一种是调整某个服务的 优先级,第二种方法是直接下线某个服务,这里我采用的是第二种,直接下线服务的方式,此时就出现了一下的问题

问题分析

nacos 采用 raft选举算法计算 Leader,并记录上次启动的集群地址,服务器 IP 改变时(网络环境不稳定,如WIFI, IP 地址也经常变化)会导致 raft 记录的集群地址失效,导致选 Leader 出现问题。

解决方法

Nacos在本地

  • 删除Nacos根目录下data文件中的protocol文件夹,然后重启即可

Nacos在服务器中

相关命令

docker exec -it nacos /bin/bash     ## 进入nacos容器
cd data/                            ## 进入data文件夹
rm -rf protocol/                    ## 删除文件夹
exit 
​
docker restart nacos                ## 重启Nacos容器

image-20231105164038279

等待Nacos重启之后再次点击下线成功,此问题解决

image-20231105164349284