spring:
#是否向server注册服务,默认true,所以以下4行不配置也可以
cloud:
service-registry:
auto-registration:
enabled: true
eureka:
client:
enabled: true
说明:配置项spring.cloud.service-registry.auto-registration.enabled
和配置项eureka.client.enabled
和eureka client向注册中心注册有关。这两个配置项默认都为true,若这两个配置项为true,那么只要引入了eureka client依赖,不需要在启动类上加@EnableEurekaClient
(27条消息) Eureka Client不要在SpringBoot启动类上标注@EnableEurekaClient注解也可以向注册中心注册的原因_sunxy24的博客-CSDN博客
#注册中心
eureka:
client:
healthcheck:
#使用health端点来代替心跳表明服务是否可用,反应到eureka server ui上服务的UP还是DOWN
enabled: true
说明:默认情况下注册到eureka server的服务是通过心跳来告知自己是UP还是DOWN,并不是通过spring-boot-actuator模块的/health端点来实现的,这样其实不是很合理。
默认的心跳实现方式可以有效的检查eureka客户端进程是否正常运作,但是无法保证客户端应用能够正常提供服务。由于大多数微服务应用都会有一些其他的外部资源依赖,比如数据库,REDIS缓存等,如果我们的应用与这些外部资源无法连通的时候,实际上已经不能提供正常的对外服务了,但因为客户端心跳依然在运行,所以它还是会被服务消费者调用,而这样的调用实际上并不能获得预期的后果。
我们可以通过在eureka客户端中配置:eureka.client.healthcheck.enabled=true,就可以改变eureka server对客户端健康检测的方式,改用actuator的/health端点来检测。
(27条消息) eureka.client.healthcheck.enabled=true改变eureka server中注册的服务的健康检测方式_itzilong的博客-CSDN博客_client: healthcheck:
3.(参考注释)
eureka:
instance:
#服务续约相关配置
#服务刷新时间配置,每隔这个时间会主动心跳一次,默认30s
lease-renewal-interval-in-seconds: 1
#服务过期时间配置,超过这个时间没有接收到心跳EurekaServer就会将这个实例剔除,默认90s没发心跳则认为是故障
lease-expiration-duration-in-seconds: 1
hostname: localhost
#true表示,将自己的ip注册到Eureka Server上,不配置或false表示将所在操作系统hostname注册到eureka server上。
prefer-ip-address: true
instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${server:port}
#自定义服务的元数据信息,可以在discoveryClient中获取
metadata-map:
user.name: root
user.password: root
yueyi: 2019