在学习微服务时,我先创建了一个Eureka注册中心在启动时报错
查看报错原因是去注册中心拉取服务时报错。
通过排查发现问题出在配置文件中。因为我将 fetch-registry: true 打开了,而我又只启动了Eureka服务,好像SpringBoot启动时会先去注册中心拉取服务,因为该服务就是注册中心,而该服务还未注册到注册中心,所以拉取时找不到注册中心而报错。
解决办法:将 fetch-registry: true 改为 false 报错消失
或者不管报错,貌似不影响功能。
server:
port: 9300
spring:
application:
name: tonine-cloud-eureka
eureka:
instance:
prefer-ip-address: true
# 使用ip注册,否则会使用主机名注册了(此处考虑到对老版本的兼容,新版本经过实验都是ip)
instance-id: ${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}:@project.version@
# 自定义实例显示格式,加上版本号,便于多版本管理,注意是ip-address,早期版本是ipAddress
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: http://localhost:9300/eureka
这是我自己通过看错误信息,猜测的,因为我刚开始学SpringCloud,不知道原理是不是这样,有大佬看到麻烦回答一下我,我的理解是否正确,万分感谢。
希望能对同样是初学者的人有帮助