【1】Eureka容器的细节配置
1.eureka-server-eviction-interval-timer-in-ms:扫描失效服务的间隔时间(默认为60*1000ms)失效剔除
Eureka会统计最近15分钟心跳失败的服务实例的比例是否超过了85%。在生产环境下,因为网络延迟等原因,心跳失败实例的比例很有可能超标,但是此时就把服务剔除列表并不妥当,因为服务可能没有宕机。Eureka就会把当前实例的注册信息保护起来,不予剔除。生产环境下这很有效,保证了大多数服务依然可用。
2.eureka-self-preservation:自我保护模式
就是当我们关闭了某一项服务的时候,因为eureka自带默认保护机制,会帮我们保留一段时间的服务,这样我们在开发过程中会比较麻烦,所以选择false关闭。
关闭自我保护模式,eureka就会显示一条语句
这是代码
【2】server提供者客户端
1.eureka-client-register-with-eureka:false/true
默认就是true。如果值确实为true,则会向EurekaServer发起一个Rest请求,并携带自己的元数据信息,Eureka Server会把这些信息保存到一个双层Map结构中
2.eureka-instance-lease-renewal-interval-in-seconds:服务续约间隔,默认30s
3.eureka-instance-lease-expiration-duration-in-seconds:服务失效时长,默认90s
也就是说,默认情况下每个30秒服务会向注册中心发送一次心跳,证明自己还活着。如果超过90秒没有发送心跳,EurekaServer就会认为该服务宕机,会从服务列表中移除,这两个值在生产环境不要修改,默认即可
【3】consumer消费者客户端
1.eureka-client-fetch-registry:如果为true则会拉取Eureka Server服务的列表只读备份,然后缓存在本地
2.eureka-client-registry-fetch-interval-seconds:设置拉取服务列表的间隔