Eureka的高可用 自我保護機制 以及細節問題

2021-10-03 16:38:36 字數 2528 閱讀 7696

1.1 一號eureka server,埠號:9000,向埠號:8000的eurekaserver註冊

server

:port

:9000

#配置eureka server

eureka

:instance

:hostname

: localhost

client

:#因為兩個eurekaserver要相互註冊,所以要將自己也註冊到註冊中心裡面,同時獲取eureka註冊資訊

#register-with-eureka: false #是否將自己註冊到註冊中心

#fetch-registry: false #是否從eureka中獲取註冊資訊

service-url

:#配置暴露給eureka client的請求位址

defaultzone

:

1.2 二號eureka server,埠號:8000,向埠號:9000的eurekaserver註冊
server

:port

:8000

#配置eureka server

eureka

:instance

:hostname

: localhost

client

:#因為兩個eurekaserver要相互註冊,所以要將自己也註冊到註冊中心裡面,同時獲取eureka註冊資訊

#register-with-eureka: false #是否將自己註冊到註冊中心

#fetch-registry: false #是否從eureka中獲取註冊資訊

service-url

:#配置暴露給eureka client的請求位址

defaultzone

:

#配置eureka server

/eureka/ #多個eurekaserver之間用,隔開

instance:

prefer-ip-address:

true #使用ip位址註冊

在服務提供者,通過eureka.instance.instance-id配置顯示服務ip
#配置eureka client

eureka

:client

:service-url

:defaultzone

: http://localhost:9000/eureka/ #多個eurekaserver之間用,隔開

instance

:prefer-ip-address

:true

#使用ip位址註冊

instance-id

: $:$

#向註冊中心中註冊服務id

原因:因為eureka預設的心跳機制是30秒,和90秒:30秒向eurekaserver傳送一次心跳,代表我這個服務還活著,如果90秒eurekaserver還沒收到服務的心跳,就代表該服務宕機了,需要剔除。在實際專案中,這兩個時間值太長了,我們都會修改.

修改方法:在配置檔案中,配置以下內容:

#配置eureka client

eureka

:client

:service-url

:defaultzone

: http://localhost:9000/eureka/ #多個eurekaserver之間用,隔開

instance

:prefer-ip-address

:true

#使用ip位址註冊

instance-id

: $:$

#向註冊中心中註冊服務id秒

lease-renewal-interval-in-seconds:5

#傳送心跳的間隔(秒)

lease-expiration-duration-in-seconds

:10

#續約到期的時間

簡介:eurekaserver在執行中,它會統計所有服務,在15分鐘之內,所有服務的心跳比率在85%以下?如果統計到所有服務的心跳比率在85%或者一半以下,eureka就會開啟自我保護機制:即不在剔除任何服務。所以在實際專案中,eureka的自我保護機制不常用,我們通常會把他關掉。

關閉eureka的自我保護和剔除服務間隔:在eurekaserver專案配置檔案中,配置如下:

#配置eureka server

server

:enable-self-preservation

:false

#關閉自我保護

eviction-interval-timer-in-ms

:4000

#剔除服務間隔

eureka自我保護時間 Eureka自我保護機制

自我保護背景 首先對eureka註冊中心需要了解的是eureka各個節點都是平等的,沒有zk中角色的概念,即使n 1個節點掛掉也不會影響其他節點的正常執行。預設情況下,如果eureka server在一定時間內 預設90秒 沒有接收到某個微服務例項的心跳,eureka server將會移除該例項。但...

eureka自我保護時間 Eureka自我保護機制

為什麼會產生eureka的自我保護機制?為了防止eurekaclient 服務提供者 可以正常執行,但是與eurekaserver網路擁擠的情況下,eurekaserver不會將eurekaclient服務剔除 什麼是eureka的自我保護進製 預設情況下,如果eureka在一定時間內沒有收到某個微...

Eureka自我保護

為什麼會產生 eureka自我保護機制?為了防止以下情況 eurekaclienti可以正常執行,但是與 eurekaserver網路不通情況下,eurekaserver立刻將 eurekaclient服務剔除。如果進入了自我保護模式就不會立刻刪除服務。什麼是自我保護模式?這裡只修改7001和800...