摘要:自我保護(hù)機(jī)制官方對(duì)于自我保護(hù)機(jī)制的定義自我保護(hù)模式正是一種針對(duì)網(wǎng)絡(luò)異常波動(dòng)的安全保護(hù)措施,使用自我保護(hù)模式能使集群更加的健壯穩(wěn)定的運(yùn)行。注冊(cè)中心關(guān)閉自我保護(hù)機(jī)制,修改檢查失效服務(wù)的時(shí)間。
自我保護(hù)背景
首先對(duì)Eureka注冊(cè)中心需要了解的是Eureka各個(gè)節(jié)點(diǎn)都是平等的,沒(méi)有ZK中角色的概念, 即使N-1個(gè)節(jié)點(diǎn)掛掉也不會(huì)影響其他節(jié)點(diǎn)的正常運(yùn)行。
默認(rèn)情況下,如果Eureka Server在一定時(shí)間內(nèi)(默認(rèn)90秒)沒(méi)有接收到某個(gè)微服務(wù)實(shí)例的心跳,Eureka Server將會(huì)移除該實(shí)例。但是當(dāng)網(wǎng)絡(luò)分區(qū)故障發(fā)生時(shí),微服務(wù)與Eureka Server之間無(wú)法正常通信,而微服務(wù)本身是正常運(yùn)行的,此時(shí)不應(yīng)該移除這個(gè)微服務(wù),所以引入了自我保護(hù)機(jī)制。
自我保護(hù)機(jī)制官方對(duì)于自我保護(hù)機(jī)制的定義:
https://github.com/Netflix/eu...
自我保護(hù)模式正是一種針對(duì)網(wǎng)絡(luò)異常波動(dòng)的安全保護(hù)措施,使用自我保護(hù)模式能使Eureka集群更加的健壯、穩(wěn)定的運(yùn)行。
自我保護(hù)機(jī)制的工作機(jī)制是如果在15分鐘內(nèi)超過(guò)85%的客戶端節(jié)點(diǎn)都沒(méi)有正常的心跳,那么Eureka就認(rèn)為客戶端與注冊(cè)中心出現(xiàn)了網(wǎng)絡(luò)故障,Eureka Server自動(dòng)進(jìn)入自我保護(hù)機(jī)制,此時(shí)會(huì)出現(xiàn)以下幾種情況:
1、Eureka Server不再?gòu)淖?cè)列表中移除因?yàn)殚L(zhǎng)時(shí)間沒(méi)收到心跳而應(yīng)該過(guò)期的服務(wù)。
2、Eureka Server仍然能夠接受新服務(wù)的注冊(cè)和查詢請(qǐng)求,但是不會(huì)被同步到其它節(jié)點(diǎn)上,保證當(dāng)前節(jié)點(diǎn)依然可用。
3、當(dāng)網(wǎng)絡(luò)穩(wěn)定時(shí),當(dāng)前Eureka Server新的注冊(cè)信息會(huì)被同步到其它節(jié)點(diǎn)中。
因此Eureka Server可以很好的應(yīng)對(duì)因網(wǎng)絡(luò)故障導(dǎo)致部分節(jié)點(diǎn)失聯(lián)的情況,而不會(huì)像ZK那樣如果有一半不可用的情況會(huì)導(dǎo)致整個(gè)集群不可用而變成癱瘓。
自我保護(hù)開關(guān)Eureka自我保護(hù)機(jī)制,通過(guò)配置eureka.server.enable-self-preservation來(lái)true打開/false禁用自我保護(hù)機(jī)制,默認(rèn)打開狀態(tài),建議生產(chǎn)環(huán)境打開此配置。
開發(fā)環(huán)境配置開發(fā)環(huán)境中如果要實(shí)現(xiàn)服務(wù)失效能自動(dòng)移除,只需要修改以下配置。
1、 注冊(cè)中心關(guān)閉自我保護(hù)機(jī)制,修改檢查失效服務(wù)的時(shí)間。eureka: server: enable-self-preservation: false eviction-interval-timer-in-ms: 30002、 微服務(wù)修改減短服務(wù)心跳的時(shí)間。
# 默認(rèn)90秒 lease-expiration-duration-in-seconds: 10 # 默認(rèn)30秒 lease-renewal-interval-in-seconds: 3
以上配置建議在生產(chǎn)環(huán)境使用默認(rèn)的時(shí)間配置。
推薦:Spring Boot & Cloud 最強(qiáng)技術(shù)教程
掃描關(guān)注我們的微信公眾號(hào),干貨每天更新。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/71301.html
摘要:并不會(huì)在微服務(wù)框架中有其它的注冊(cè)機(jī)制。微服務(wù)框架本身不會(huì)維護(hù)服務(wù)組件的啟動(dòng)順序,這一問(wèn)題可以由來(lái)解決。啟動(dòng)先后邏輯為被依賴的服務(wù)先啟動(dòng),只有當(dāng)前服務(wù)所依賴的服務(wù)全部正常啟動(dòng)后,才會(huì)開始啟動(dòng)流程。 概述 這篇文檔,著重解決一個(gè)問(wèn)題:Spring Cloud 融合于 Rainbond 原生 Service Mesh 的正確姿勢(shì)是什么樣子的。 Rainbond 原生支持 Service Me...
摘要:該注冊(cè)中心關(guān)閉了自我保護(hù)機(jī)制,所以當(dāng)各位開發(fā)者的服務(wù)下線后,稍等片刻就會(huì)被剔除,所以大家不用擔(dān)心服務(wù)的長(zhǎng)時(shí)間停留在該服務(wù)注冊(cè)中心上。 這是一篇博客福利! 相信很多關(guān)注Spring Cloud的愛(ài)好者們,不論是讀我的系列文章和書籍還是看其他朋友們寫的博客佳文,都不可避免的啟動(dòng)多個(gè)項(xiàng)目來(lái)體驗(yàn)Spring Cloud帶來(lái)的整套微服務(wù)架構(gòu)方案。其中,Eureka注冊(cè)中心幾乎是每個(gè)試驗(yàn)都必須要啟...
摘要:服務(wù)續(xù)約在服務(wù)注冊(cè)完成之后,服務(wù)提供者需要維護(hù)一個(gè)心跳來(lái)告知注冊(cè)中心服務(wù)實(shí)例處于正常運(yùn)行狀態(tài)中,防止注冊(cè)中心將正常的服務(wù)實(shí)例剔除出注冊(cè)中心。 Spring Cloud Eureka 目錄 前言 構(gòu)建服務(wù)注冊(cè)中心 服務(wù)注冊(cè)與發(fā)現(xiàn) Eureka的基礎(chǔ)架構(gòu) Eureka的服務(wù)治理機(jī)制 Eureka的配置 代碼地址 前言 服務(wù)治理 ?隨著微服務(wù)應(yīng)用的不斷增加,靜態(tài)配置會(huì)越來(lái)越難以維護(hù),并且...
摘要:是一個(gè)相對(duì)比較新的微服務(wù)框架,年才推出的版本雖然時(shí)間最短但是相比等框架提供的全套的分布式系統(tǒng)解決方案。提供線程池不同的服務(wù)走不同的線程池,實(shí)現(xiàn)了不同服務(wù)調(diào)用的隔離,避免了服務(wù)器雪崩的問(wèn)題。通過(guò)互相注冊(cè)的方式來(lái)進(jìn)行消息同步和保證高可用。 Spring Cloud 是一個(gè)相對(duì)比較新的微服務(wù)框架,...
閱讀 3344·2023-04-25 16:50
閱讀 978·2021-11-25 09:43
閱讀 3633·2021-09-26 10:11
閱讀 2574·2019-08-26 13:28
閱讀 2586·2019-08-26 13:23
閱讀 2490·2019-08-26 11:53
閱讀 3631·2019-08-23 18:19
閱讀 3047·2019-08-23 16:27