SpringCloud学习中,orderservice无法在nacos中注册微服务
小编是一个计算机专业学生最近在跟着黑马程序员的springcloud进行学习时在nacos集群搭建碰到了以下问题我的orderservice 服务无法向 Nacos 注册中心发起注册请求,尽管nacos后台显示三个节点都是up绿色状态但仍控制台显示我都nacos挂掉了于是小编访问了127.0.0.1:8845/nacos/v1/ns/operator/servers结果返回server is DOWN now说明确实是Nacos 服务端自己处于 DOWN 状态于是小编接着寻找原因人工智能告诉我我都config文件中有localhost,也有127.0.0.1还有小编本机的直接ip混乱使用导致集群状态出现脏数据/不一致节点 peer 识别异常最终DOWN。所以后面小编全部换为了本机真实ip192.**.**.**,重启nacos后问题也顺利解决。问题虽然解决但由于ip地址经常会发生变动所以为了一劳永逸小编继续探究使用127.0.0.1为什么出错重新访问http://192.**.**.**:8845/nacos/v1/ns/operator/servers 这里**为本机对应IP地址发现返回内容中有这样一行数据{naming_persistent_service:{raftGroupMember:[192.**.87.**:7847]}}},raftPort:7847,version:1.4.1},address:192.**.**.**:8847,failAccessCnt:0}表示Nacos 集群里Raft 一致性算法组里只有一个节点192.**.87.**:7847这是小编Nacos 第一次启动时记录的旧 IP所以Raft 元数据不一致导致注册请求校验失败。所以小编找到 Nacos 安装目录删除data/protocol/raft整个文件夹.但就算这样也还是不能使用127.0.0.1回环地址小编继续寻找原因发现就是conf中配置的是127.0.0.1也会在Nacos 启动后在运行时节点信息里上报的本机 IP从而在conf中出现自己的本机真实ip所以我们还需要在每个 nacos的application.properties都加一行nacos.inetutils.ip-address127.0.0.1强制指定 Nacos 对外暴露的 IP这样127.0.0.1就可以正常使用了。总结1.删除data/protocol/raft中残留的旧数据2.每个 nacos的application.properties都加一行nacos.inetutils.ip-address127.0.0.1确保Nacos 对外暴露的 IP确定。