Spring Cloud的Eureka客户端注册不上?首先你心中应该牢记Eureka组件之间的通信模型,再来看问题。
我遇到的注册不上分2种情况:
1.注册报错:
Request execution error:
java.net.ConnectException: Connection refused: connect
There was a problem with the instance info replicator:
Cannot execute request on any known server
这是EurekaClient注册过程中,抛出的两个异常,第一个是无法连接上指定的注册中心,第二个是在试图共享实例信息时找不到共享对象.
状态: 此时的EurekaClient是可以正常运行的,功能可以使用
原因: 没找到对应的Eureka
解决:
检查Eureka注册中心是否有开启,defaultZone地址是否匹配
2.注册不报错,也不能运行,提示204后shut down
DiscoveryClient_TEST-1/luolanjiao.wangjin.local:test-1:8801 - registration status: 204
原因: Eureka客户端(服务提供者/消费者)没有成功引入web的starter。
*如果pom文件中引入后,还需要真正被maven加载,程序才能真正引入。
解决: 因此运行方式是点击Run运行的,需先刷新maven窗口的Dependencies栏。最保险的做法是直接用mvn命令:
> mvn clean package
> mvn spring-boot:run
为了构建是不出意外,你应该进行如下检查:
- 检查Spring Cloud版本名称是否写对了,这个有时候不会报错。
- 检查你的Spring boot和Spring Cloud版本号是否对得上;《如何查看Springcloud对应的Spring boot稳定版》
如下是最新的版本对应: