spring cloud微服務架構-Eureka保護機制
首先對Eureka註冊中心需要了解的是Eureka各個節點都是平等的,沒有ZK中角色的概念, 即使N-1個節點掛掉也不會影響其他節點的正常執行。瞭解springcloud架構可以加求求:三五三六二四七二五九
預設情況下,如果Eureka Server在一定時間內(預設90秒)沒有接收到某個微服務例項的心跳,Eureka Server將會移除該例項。但是當網路分割槽故障發生時,微服務與Eureka Server之間無法正常通訊,而微服務本身是正常執行的,此時不應該移除這個微服務,所以引入了自我保護機制。
自我保護模式正是一種針對網路異常波動的安全保護措施,使用自我保護模式能使Eureka叢集更加的健壯、穩定的執行。
自我保護機制的工作機制是如果在15分鐘內超過85%的客戶端節點都沒有正常的心跳,那麼Eureka就認為客戶端與註冊中心出現了網路故障,Eureka Server自動進入自我保護機制,此時會出現以下幾種情況:
1、Eureka Server不再從註冊列表中移除因為長時間沒收到心跳而應該過期的服務。
2、Eureka Server仍然能夠接受新服務的註冊和查詢請求,但是不會被同步到其它節點上,保證當前節點依然可用。
3、當網路穩定時,當前Eureka Server新的註冊資訊會被同步到其它節點中。
因此Eureka Server可以很好的應對因網路故障導致部分節點失聯的情況,而不會像ZK那樣如果有一半不可用的情況會導致整個叢集不可用而變成癱瘓。
自我保護開關
Eureka自我保護機制,透過配置 eureka.server.enable-self-preservation來true開啟/false禁用自我保護機制,預設開啟狀態,建議生產環境開啟此配置。
開發環境配置
開發環境中如果要實現服務失效能自動移除,只需要修改以下配置。
1、 註冊中心關閉自我保護機制,修改檢查失效服務的時間。
eureka: server: enable-self-preservation:false eviction-interval-timer-in-ms:3000
2、 微服務修改減短服務心跳的時間。
lease-expiration-duration-in-seconds:10 lease-renewal-interval-in-seconds:3
以上配置建議在生產環境使用預設的時間配置。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952307/viewspace-2673762/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Spring Cloud系列教程第九篇-Eureka自我保護機制SpringCloud
- (十七)spring cloud微服務分散式雲架構-eureka 基礎SpringCloud微服務分散式架構
- Spring Cloud Eureka原始碼分析之心跳續約及自我保護機制SpringCloud原始碼
- (十三)spring cloud微服務分散式雲架構-服務容錯保護(Hystrix斷路器)SpringCloud微服務分散式架構
- Spring Cloud 微服務架構進階SpringCloud微服務架構
- 微服務架構:Dubbo VS Spring Cloud微服務架構SpringCloud
- spring cloud微服務架構設計SpringCloud微服務架構
- Spring Cloud構建微服務架構-spring cloud服務監控中心SpringCloud微服務架構
- SpringCloud Eureka自我保護機制SpringGCCloud
- spring cloud微服務分散式雲架構- Eureka伺服器搭建及配置SpringCloud微服務分散式架構伺服器
- spring cloud微服務分散式雲架構Spring Cloud ZuulSpringCloud微服務分散式架構Zuul
- spring cloud微服務分散式雲架構-Spring Cloud NetflixSpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構-Spring Cloud BusSpringCloud微服務分散式架構
- 微服務分散式雲架構spring cloud - commonservice-eureka 專案構建過程微服務分散式架構SpringCloud
- 微服務架構 | 7. 安全保護微服務架構
- Spring Cloud Eureka原理分析(二):續租、下線、自我保護機制和自動清理(服務端)SpringCloud服務端
- Java架構-(一)spring cloud微服務分散式雲架構 - Spring Cloud簡介Java架構SpringCloud微服務分散式
- Spring Cloud 微服務架構解決方案SpringCloud微服務架構
- spring cloud微服務分散式雲架構 - Spring Cloud簡介SpringCloud微服務分散式架構
- (十四)spring cloud微服務分散式雲架構-服務註冊與發現(Eureka、Consul)SpringCloud微服務分散式架構
- Spring Cloud分散式微服務雲架構構建SpringCloud分散式微服務架構
- (一)spring cloud微服務分散式雲架構 - Spring Cloud簡介SpringCloud微服務分散式架構
- (一)spring cloud微服務分散式雲架構-Spring Cloud簡介SpringCloud微服務分散式架構
- Spring Cloud系列(一):微服務架構簡介SpringCloud微服務架構
- Spring Cloud構建微服務架構-服務閘道器SpringCloud微服務架構
- Spring Cloud構建微服務架構-Hystrix服務降級SpringCloud微服務架構
- spring cloud + spring boot + springmvc+mybatis微服務雲架構CloudSpring BootSpringMVCMyBatis微服務架構
- Spring Cloud Spring Boot mybatis分散式微服務雲架構CloudSpring BootMyBatis分散式微服務架構
- spring cloud微服務分散式雲架構-Spring Cloud Config環境庫SpringCloud微服務分散式架構
- 介紹一下Spring Cloud微服務架構SpringCloud微服務架構
- 詳解Spring Cloud和Docker的微服務架構SpringCloudDocker微服務架構
- spring cloud微服務雲架構-用java使用 redlockSpringCloud微服務架構Java
- 一張圖瞭解Spring Cloud微服務架構SpringCloud微服務架構
- 基於Spring Boot和Spring Cloud實現微服務架構Spring BootCloud微服務架構
- spring cloud微服務分散式雲架構 - Spring Cloud整合專案簡介SpringCloud微服務分散式架構
- Spring Cloud雲服務架構 - 企業分散式微服務雲架構構建SpringCloud架構分散式微服務
- 【Spring Cloud】Eureka實現微服務釋出與呼叫SpringCloud微服務
- Spring Cloud微服務-基於Eureka的feign呼叫(1)SpringCloud微服務