记一次Nacos服务注册问题

太过爱你忘了你带给我的痛 2024-03-25 23:07 211阅读 0赞

















应用 版本
SpringBoot 3.0.1
Nacos 2.1.1

问题

注册服务时,程序中成功输出以下内容:

  1. nacos registry, DEFAULT_GROUP Server1 {
  2. ip}:{
  3. port} register finished

但在nacos控制台的服务列表中查询不到已注册的服务。

原因

  1. 检查Nacos版本,建议升级至2.1+ Nacos官方issue

按照官方说法,2.0.X版本作为1.X~2.1的过渡版本,为了平滑升级,是默认开启了双写和升级判断的。
如项目要求,无法对版本进行升级,可使用以下方案关闭双写:

  • 临时方案(API关闭):curl -X PUT ‘ip:port/nacos/v1/ns/operator/switches?entry=doubleWriteEnabled&value=false’
  • 持久化方案(配置新增):nacos.core.support.upgrade.from.1x=false
  1. SpringBoot/SpringCloud版本问题

最开始的时候,我使用的nacos依赖版本过低,导致与Springboot版本不匹配,由于我使用的是SpringBoot3+,故提供以下依赖包:

  • com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery:2022.0.0.0-RC1
  • com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-config:2022.0.0.0-RC1
  • org.springframework.boot:spring-boot-starter-web:3.0.4
  1. Nacos启动模式问题

Nacos有两种启动模式,一种是单机:standalone,一种是集群cluster

  • 最开始我用cluster模式启动,但集群内只启动了一个节点,导致选主失败,后续切换为standalone模式注册成功
  • 之后搭建cluster模式(一主两从),全部节点服务器除默认的8848端口外,仍需额外开启两个端口9848,9849,因为2+新增了两个grpc端口:




















端口 与主端口偏移量 用途
9848 1000 客户端grpc请求服务端接口,用于客户端发起连接
9849 1001 服务端grpc请求服务端接口,用于服务间同步

发表评论

表情:
评论列表 (有 0 条评论,211人围观)

还没有评论,来说两句吧...

相关阅读