bingo

The way to my programmer


默认情况下,如果 eureka server 在一定的时间内没接收到某个微服务实例的心跳,eureka将会注销该实例(默认90秒)。但是当网络分区故障发生,server 与 client通信故障,但是服务本身没问题,就会发生问题。eureka server 用自我保护机制来解决这个问题。
自我保护模式:宁可同时保留所有服务,也不盲目注销任何健康的服务。
但是自我保护也可能会产生另一种问题。即,服务挂了,但是eureka server 并没有注销掉这个服务。
一种办法:
服务器端配置:

  1. eureka:
  2. server:
  3. enable-self-preservation: false
  4. eviction-interval-timer-in-ms: 4000 注销间隔时间

客户端配置:

  1. eureka:
  2. client:
  3. healthcheck:
  4. enabled: true
  5. instance:
  6. lease-expiration-duration-in-seconds: 30
  7. lease-renewal-interval-in-seconds: 10

注意:生产环境最好不要改动自我保护机制。



springboot-jpa LazyInitializationException