在做微服务开发中,测试环境使用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.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.0.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</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

Nacos 版本不一致报错: Request nacos server failed的更多相关文章

  1. vscode点击ctrl键报错Request textDocument/definition failed.

    现象 用vscode写java代码的时候突然出现,修复问题点击Ctrl时,输出窗口就打日志,报错Request textDocument/definition failed. 我百度唯一的有用线索就是 ...

  2. java.lang.UnsupportedClassVersionError:JDK版本不一致报错

    交代一下背景:公司运行的一个上线项目,打了个补丁发给客户后,反馈说运行不了.把源码拿回来场景重现.贴上报错信息: 08-15 14:13:29 ERROR doPost(jcm.framework.r ...

  3. Jmeter压测过程报错the target server failed to respond

    失败事务报错信息如下, Socket closed Non HTTP response code: org.apache.http.NoHttpResponseException (the targe ...

  4. LayaIDE 报typescript编译版本不一致的错

    LayaIDE 报typescript编译版本不一致的错 文件 -> 首选项->用户设置那里修改下 settings.json // 将设置放入此文件中以覆盖默认设置 { "ty ...

  5. 低版本客户端连接高版本数据库报错ORA-28040、ORA-01017

    测试环境: 客户端:Oracle 11.2.0.1 服务端:Oracle 19.16 测试过程: 1.低版本客户端连接高版本数据库报错ORA-28040 2.低版本客户端连接高版本数据库报错ORA-0 ...

  6. Mysql导入大文件报错(MySQL server has gone away(error 2006))

    前言 我们在导入mysql数据时候,mysql客户端突然报错:MySQL server has gone away(error 2006) 类似这种情况,处理思路为:调节mysql允许导入包的大小即可 ...

  7. mysql5.6版本备份报错

    MySQL5.6版本备份报错,密码不安全 [root@centos199 mysql]# mysqldump -uroot -ppassword cz-office > mysql38.sqlW ...

  8. 从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0的解决方案

    从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0 java.lang.UnsupportedClassVersionError: PR/Sor ...

  9. window下安装redis报错: creating server tcp listening socket 127.0.0.1:6379: bind No error

    window下安装redis报错: creating server tcp listening socket 127.0.0.1:6379: bind No error 解决: 如果没有配置环境,在安 ...

  10. windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error

    windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error 学习了:https ...

随机推荐

  1. 力扣177(MySQL)-第N高的薪水(中等)

    题目: 表: Employee 编写一个SQL查询来报告 Employee 表中第 n 高的工资.如果没有第 n 个最高工资,查询应该报告为 null . 查询结果格式如下所示 示例1: 示例2: 解 ...

  2. 力扣166(java)-分数到小数(中等)

    题目: 给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以 字符串形式返回小数 . 如果小数部分为循环小数,则将循环的部分括在括号内. 如果存在多个答案,只需返回 ...

  3. 牛客网-SQL专项训练5

    ①查询运动员表中运动员的所有信息,按照年龄升序,成绩降序排列.SQL语句为: SELECT  *  FROM  运动员 ORDER 年龄 ASC, 成绩 DESC: 知识点: ASC:升序,默认就为升 ...

  4. MaxCompute Tunnel 技术原理及开发实战

    简介: MaxCompute(原名ODPS)是一种快速.完全托管的EB级数据仓库解决方案, 致力于批量结构化数据的存储和计算,为用户提供数据仓库的解决方案及分析建模服务.Tunnel是MaxCompu ...

  5. 开课啦 dubbo-go 微服务升级实战

    简介: 杭州开课啦教育科技有限公司是一家致力于为中小学生提供学习辅导的在线教育公司,目前公司后端服务基础设施主要依托于阿里云原生,其中包含计算.网络.存储以及 Kubernetes 服务. 技术选型背 ...

  6. 浅谈RSocket与响应式编程

    ​简介: RSocket是高效一个二进制的网络通讯协议,能够满足很多场景下使用.另外,RSocket也是一个激进的响应式捍卫者,激进到连API都跟响应式无缝集成.本文我们将和大家分享RSocket与响 ...

  7. Visual Studio 2019 自带混淆工具DotFuscator不需要去网络下载

    http://t.zoukankan.com/daizhipeng-p-13492298.html 大家是否还在困扰发布的项目dll容易被人反编译呢,VS2019默认是没有安装DotFuscator的 ...

  8. Unlink原理和一些手法

    Unlink原理和一些手法 简单介绍一下unlink相关的知识 unlink是利用glibc malloc 的内存回收机制造成攻击的,核心就在于当两个free的堆块在物理上相邻时,会将他们合并,并将原 ...

  9. 八、Dataphin

    Dataphin是阿里巴巴集团OneData数据治理方法论内部实践的云化输出,一站式提供数据采.建.管.用全生命周期的大数据能力,以助力企业显著提升数据治理水平,构建质量可靠.消费便捷.生产安全经济的 ...

  10. 前端调用DRI后端API出现跨域资源共享(CORS)问题解决办法

    目录 1. 引言 2. 跨源资源共享和实现方法 3. 在Django项目中配置django-cors-headers库 Reference 1. 引言 在进行后端API开发时,有时会遇到"跨 ...