1. 程式人生 > 實用技巧 >springCloud 之 Eureka註冊中心高可用配置

springCloud 之 Eureka註冊中心高可用配置

Eureka1 配置

#高可用例項1
spring:
  application:
    name: eureka

server:
  port: 8010

#eureka.instance.lease-expiration-duration-in-seconds
#eureka server設定剔除出注冊中心的超時時間(單位:秒)

#eureka.instance.lease-renewal-interval-in-seconds
#eureka client客戶端傳送心跳給服務端的頻率. 該值至少要比lease-expiration-duration-in-seconds小才有意義(單位:秒)

#eureka.client.registry-fetch-interval-seconds
#eureka client客戶端更新註冊發現的時間間隔(單位:秒)

eureka:
  instance:
    hostname: dev1
    lease-expiration-duration-in-seconds: 30
    lease-renewal-interval-in-seconds: 10
    appname: ${spring.application.name}
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://localhost:8011/eureka/,http://localhost:8012/eureka/
    registry-fetch-interval-seconds: 5
  server:
    enable-self-preservation: false
    eviction-interval-timer-in-ms: 10000 #清理無效節點的時間間隔,預設60000毫秒,即60秒

management:
  server:
    port: ${server.port}
  endpoints:
    web:
      exposure:
        include: '*'
    jmx:
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: always

Eureka2 配置

#高可用例項1
spring:
  application:
    name: eureka

server:
  port: 8011

#eureka.instance.lease-expiration-duration-in-seconds
#eureka server設定剔除出注冊中心的超時時間(單位:秒)

#eureka.instance.lease-renewal-interval-in-seconds
#eureka client客戶端傳送心跳給服務端的頻率. 該值至少要比lease-expiration-duration-in-seconds小才有意義(單位:秒)

#eureka.client.registry-fetch-interval-seconds
#eureka client客戶端更新註冊發現的時間間隔(單位:秒)

eureka:
  instance:
    hostname: dev2
    lease-expiration-duration-in-seconds: 30
    lease-renewal-interval-in-seconds: 10
    appname: ${spring.application.name}
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://localhost:8010/eureka/,http://localhost:8012/eureka/
    registry-fetch-interval-seconds: 5
  server:
    enable-self-preservation: false
    eviction-interval-timer-in-ms: 10000 #續期時間,清理無效服務的時間間隔,預設是60*1000

management:
  server:
    port: ${server.port}
  endpoints:
    web:
      exposure:
        include: '*'
    jmx:
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: always

Eureka3 配置

#高可用例項1
spring:
  application:
    name: eureka

server:
  port: 8012

#eureka.instance.lease-expiration-duration-in-seconds
#eureka server設定剔除出注冊中心的超時時間(單位:秒)

#eureka.instance.lease-renewal-interval-in-seconds
#eureka client客戶端傳送心跳給服務端的頻率. 該值至少要比lease-expiration-duration-in-seconds小才有意義(單位:秒)

#eureka.client.registry-fetch-interval-seconds
#eureka client客戶端更新註冊發現的時間間隔(單位:秒)

eureka:
  instance:
    hostname: dev3 #服務註冊中心例項主機名
    lease-expiration-duration-in-seconds: 30
    lease-renewal-interval-in-seconds: 10
    appname: ${spring.application.name}
  client:
    registerWithEureka: false #是否向註冊中心註冊自己
    fetchRegistry: false #是否獲取登錄檔
    serviceUrl:
      defaultZone: http://localhost:8010/eureka/,http://localhost:8011/eureka/
    registry-fetch-interval-seconds: 5
  server:
    enable-self-preservation: false
    eviction-interval-timer-in-ms: 10000 #續期時間,清理無效服務的時間間隔,預設是60*1000

management:
  server:
    port: ${server.port}
  endpoints:
    web:
      exposure:
        include: '*'
    jmx:
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: always

client 配置

server:
  port: 8021

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8010/eureka/,http://localhost:8011/eureka/,http://localhost:8012/eureka/

spring:
  zipkin:
    base-url: http://localhost:9411
  sleuth:
    sampler:
      probability: 1.0