下面简单介绍下Eureka的配置
- 开启服务注册eureka.client.register-with-eureka=true,缺省为true
- 服务续约有两个重要属性
- 调用续约任务的间隔时间eureka.instance.lease-renewal-interval-in-seconds,默认30s
- 定义服务失效时间eureka.instance.lease-expiration-duration-in-seconds,默认90s
- 服务缓存清单的刷新时间eureka.client.registry-fetch-interval-seconds,默认30s
- 注册中心的自我保护机制eureka.server.enable-self-preservation,默认true,
本地调试时可以关闭,确保注册中心及时将不可用的实例剔除 - 服务注册类配置
- 指定注册中心
- eureka.client.serviceUrl.defaultZone=http://host:port/eureka
- 如果是多个注册中心,用逗号分隔地址
- 注册中心增加安全检验
- 引入依赖spring-boot-starter-security
- 修改服务端的配置
- 新增配置security.user.name=用户名, security.user.password=密码
- serviceUrl
http://${security.user.name}:${security.user.password}@host:port/eureka/
- 修改客户端的serviceUrl
http://${security.user.name}:${security.user.password}@host:port/eureka/
- 指定注册中心
- 服务实例类配置
- 实例名配置
实例名,即InstanceInfo中的instanceId,用于区分同一服务不同实例的唯一标识
默认规则下,实例名使用主机名,所以同一主机无法启动多个相同实例
解决:应用名加随机数
server.port=0 eureka.instance.instance-id=${spring.application.name}:${random.int}
- 端点配置
spring-boot-actuactor默认提供/info端点和/health端点,为确保/health发送元数据时,
注册中心是能够被访问的,应配置eureka.client.healthcheck.enabled=true - 健康监测
- 引入依赖spring-boot-starter-actuator
- 增加配置eureka.client.healthcheck.enabled=true
- 实例名配置