• Nacos 版本不一致报错: Request nacos server failed


    在做微服务开发中,测试环境使用Nacos没有问题,但是生产环境服务启动一直报错:

    com.alibaba.nacos.api.exception.NacosException: Request nacos server failed: 
    	at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.requestToServer(NamingGrpcClientProxy.java:279) ~[nacos-client-2.0.3.jar:na]
    	at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.doSubscribe(NamingGrpcClientProxy.java:227) ~[nacos-client-2.0.3.jar:na]
    	at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.subscribe(NamingGrpcClientProxy.java:212) ~[nacos-client-2.0.3.jar:na]
    	at com.alibaba.nacos.client.naming.remote.NamingClientProxyDelegate.subscribe(NamingClientProxyDelegate.java:147) ~[nacos-client-2.0.3.jar:na]
    	at com.alibaba.nacos.client.naming.NacosNamingService.subscribe(NacosNamingService.java:393) ~[nacos-client-2.0.3.jar:na]
    

    原因分析 版本不一致

    代码没有改动,测试环境没问题,但是生产环境有问题呢?首先看一下两者不同的地方,大多数都是环境配置的问题。

    查看Nacos服务的版本,查看Nacos控制台首页左上角就能看到版本号:

    测试环境版本是2.0.x.RELEASE ,生产环境版本是2.1.x.RELEASE,再看alibaba.cloud中的maven中的依赖:

    <dependency>
        <groupId>com.alibaba.cloudgroupId>
        <artifactId>spring-cloud-alibaba-dependenciesartifactId>
        <version>2.0.1.RELEASEversion>
        <type>pomtype>
        <scope>importscope>
    dependency>
    

    解决方案

    将依赖从2.0.x.RELEASE改成2.1.x.RELEASE

    Nacos服务端maven依赖对应的版本号保持一致。Spring Boot依赖的版本号也要保持一致。版本 2.1.x.RELEASE 对应的是Spring Boot 2.1.x版本。版本2.0.x.RELEASE对应的是Spring Boot 2.0.x版本,具体查看官方详解

    总结

    • Nacos服务端和Nacos依赖的版本号要一致
    • Spring BootSpring Cloud Alibaba版本号要保持一致,Spring Cloud也需要对应匹配。具体查看 https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
  • 相关阅读:
    Ceph分布式存储的简单介绍与Ceph集群的部署搭建
    删除的视频怎么找回来呢?
    Springboot健身房管理系统毕业设计源码031807
    selenium进阶设置
    centos安装nexus3.x版本
    Java面试题(Guide)
    时间序列分析(二)--指数平滑
    LeetCode算法动态规划—剑指 Offer 10- II. 青蛙跳台阶问题
    Collection、List和Set接口
    10.23
  • 原文地址:https://www.cnblogs.com/jeremylai7/p/16885867.html