如何关闭Eureka的自我保护机制

Eureka服务端application.yml文件:

eureka:
  instance:
    hostname: eureka7001.com
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://eureka7002.com:7002/eureka/
  # ******下面的代码用来关闭Eureka服务端的自我保护机制******
  server:
    # 关闭自我保护机制,保证不可用的服务被及时剔除
    enable-self-preservation: false
    # 如果2秒内没有收到某个微服务的心跳,那就剔除该微服务,单位为毫秒
    eviction-interval-timer-in-ms: 2000

Eureka客户端application.yml文件:

eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka
  # ******下面的操作用来配合被关闭的Eureka的自我保护机制******
  instance:
  	instance-id: payment8001
    prefer-ip-address: true
  	# Eureka客户端向服务心跳的时间间隔是1s,默认是30秒
    lease-renewal-interval-in-seconds: 1
    # Eureka服务端在收到一次心跳后等待时间上限是2s,默认是90s,超时将剔除该微服务,其实Eureka服务端已经设置了,可能就是也告诉服务提供者一下
    lease-expiration-duration-in-seconds: 2

结论:
Eureka客户端会间隔1s向Eureka服务端发送一次心跳包,而Eureka服务端的自我保护机制已经关闭了,如果在2s之内没有收到Eureka客户端发送过来的心跳包,那就会立即剔除注册的Eureka客户端

你可能感兴趣的:(java学习之路)