005 Eureka的HA機制和保護模式

2022-09-14 05:21:11 字數 2820 閱讀 6537

一 .概述

在springcloud之中,eureka作為服務註冊中心是乙個最為重要的核心元件,幾乎整個架構都需要依賴其元件.為了保證其高可用,eureka提供了一系列的舉措來完成這件事情.

二 .保護模式

在eureka之中,存在乙個保護模式.該保護模式描述的情況如下:

[1]預設情況下,客戶端需要和eureka的伺服器建立心跳機制,為60秒一次心跳.

[2]當心跳丟失3次以上的時候,eureka伺服器端就會剔除可能宕機的微服務.

[3]eureka可能會遭遇大規模服務丟失的情況,可能是自己本身出現了問題,但是eureka這個時候就進入了保護模式.

該保護模式直接不剔除任何的服務,因為無法確定是否應該剔除,因此選擇保留.

觸發的條件是15分鐘之內,剔除的服務的數量佔到了15%以上的比例.

保護模式實際上是說eureka在可能發生某種故障的時候,選擇持有本應該受到剔除的服務,為了防止極端的情況,將所有的服務都剔除掉.

三.eureka的ha機制

eureka本身既是乙個客戶端,也是乙個服務端,換句話說,它可以接受其他服務的註冊,也可以將自己註冊到其它的eureka之上.

因此ha機制就變得十分的簡單了,我們只需要多建立幾個eureka主機彼此之間互相註冊就可以完成.

下面,我們模擬一下這個內容.

[1]首先建立乙個springcloud-eureka-ha的子專案,然後新增依賴內容.

org.springframework.cloud

spring-cloud-starter-netflix-eureka-server

org.springframework.boot

spring-boot-starter-security

[2]新增配置檔案內容

我們使用springboot給我們提供的profile特性,主要是方便我們後面啟動eureka的時候更加方便.

[3]修改hosts檔案內容

127.0.0.1  eureka-server-9001

127.0.0.1 eureka-server-9002

127.0.0.1 eureka-server-9003

[4]專案打包,然後使用--spring.profils.active啟動

[5]訪問說那個eureka的page頁面,我們就會發現下面的內容

實際上這就表示我們的eureka的伺服器節點之間現在已經就是複製的關係了,我們的eureka的ha機制也搭建完成了.

關於Eureka的自我保護機制

之前學習eureka,關於他的自我保護機制一直不太理解。今天整理下學到的內容。一般情況下,為服務在eureka上註冊後,每30s會傳送一次心跳包,eureka也就通過心跳包來判斷服務的存活情況。會定期刪除90s內沒有傳送心跳的服務。1.微服務自身的原因。2.微服務與eureka之間的網路故障通常微服...

Eureka的自我保護機制 FDDLC

一 eureka的自我保護機制是什麼?在規定時間內,某個服務沒有向註冊中心傳送自己的正常資訊,對此,註冊中心不把該服務從註冊清單中移除,這就叫eureka的自我保護機制。eureka的自我保護機制保護的是誰?保護的是服務。二 開啟與關閉eureka的自我保護機制 eureka自我保護機制預設是開啟的...

高可用HA的namenode執行機制

那麼下面我再詳細介紹一下 hdfs 是乙個分布式檔案系統,有namenode和datanode,我們都知道,一旦namenode蕩機,整個集群就會癱瘓,那麼這個問題怎麼處理 一般我們都會有兩個namenode,我們知道有乙個secondary namenode,但是我們知道這個namenode並不能...