中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何分析Eureka集群和自我保護機制

發布時間:2021-12-02 15:11:33 來源:億速云 閱讀:151 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關如何分析Eureka集群和自我保護機制,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

Eureka 自我保護機制

進入自我保護機制的標志【重點】

在使用Eureka的過程中,有時候會在Eureka服務端的頁面上看到如下的內容:

如何分析Eureka集群和自我保護機制  

在監控頁面上會看到一行紅字兒,這些紅字兒什么意思呢?代表著Eureka注冊中心進入了自我保護機制。

 

什么是自我保護機制【重點】

默認情況下,如果Eureka Server在一定時間內沒有接受到服務實例的心跳,Eureka將會注銷該實例(默認90秒).但是當網絡分區發生故障時,微服務客戶端和Eureka Server 無法正常通信。以上行為可能變得特別危險了,因為微服務本身是健康的,此時不能注銷該服務實例。

Eureka通過自我保護機制來解決這個問題,當Eureka Server在短時間丟失過多的服務實例(可能發生了網絡分區的故障),那么Eureka Server進入自我保護模式,一旦進入此模式,Eureka Server將會保護服務注冊表中的信息,不再刪除服務注冊表中的數據(也就是不再注銷任何的服務實例),當網絡故障恢復后,Eureka Server會自動退出自我保護模式。

綜上,自我保護模式是一種應對網絡故障的安全保護措施,它的架構哲學是寧可同時保留所有的微服務,也不盲目注銷任何健康的微服務,使用自我保護模式可以讓Eureka,更加健壯,穩定。

一句話:大面積出現客戶端失聯的時候,Eureka 注冊中心進入自我保護模式,不注銷任何實例

 

自我保護機制的配置

在Eureka Server中配置關閉自我保護機制

#關閉自我保護機制  默認開啟
eureka.server.enable-self-preservation=false
 

如果想及時剔除失效的eureka服務除了關閉自我保護機制外,可以調低eureka的心跳值

eureka-server服務端
配置文件中我們添加如下配置

#關閉保護機制,以確保注冊中心將不可用的實例正確剔除
eureka.server.enable-self-preservation=false
#(代表是5秒,單位是毫秒,清理失效服務的間隔 )
eureka.server.eviction-interval-timer-in-ms=5000

 
客戶端
配置文件中我們添加如下配置

# 心跳檢測檢測與續約時間
# 測試時將值設置設置小些,保證服務關閉后注冊中心能及時踢出服務
# 配置說明
#  lease-renewal-interval-in-seconds 每間隔10s,向服務端發送一次心跳,證明自己依然”存活“
#  lease-expiration-duration-in-seconds  告訴服務端,如果我20s之內沒有給你發心跳,就代表我“死”了,將我踢出掉。
eureka.instance.lease-renewal-interval-in-seconds=10
eureka.instance.lease-expiration-duration-in-seconds=20
   

注冊中心高可用「注冊中心集群」

注冊中心集群  防止單點故障

Eureka可以通過運行多個實例并互相注冊實現高可用部署,Eureka Server實例會彼此同步信息。

 

創建并配置Eureka集群

Tips:代碼在前上篇教程的基礎上開發,源碼地址:https://gitee.com/bingqilinpeishenme/Java-Tutorials

1.創建第二個Eureka服務端 eureka-server-8800

如何分析Eureka集群和自我保護機制  

2.修改pom文件

如何分析Eureka集群和自我保護機制  

3.創建并修改啟動類

package com.lby;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

/**
* @author luxiaoyang
* @create 2020-03-30-20:36
*/
@EnableEurekaServer
@SpringBootApplication
public class EurekaServer8800 {
   public static void main(String[] args) {
       SpringApplication.run(EurekaServer8800.class,args);
   }
}

 

4.寫配置文件

如何分析Eureka集群和自我保護機制  

5.修改注冊中心eureka-server-8801的配置文件

注冊中心之間的基本邏輯是:互相注冊

如何分析Eureka集群和自我保護機制  

此時我們就擁有了一個Eureka注冊中心的集群

6.修改所有客戶端的配置,客戶端需要向 注冊中心集群注冊 所以需要配置所有注冊中心的地址

如何分析Eureka集群和自我保護機制  
 

演示注冊中心集群的效果

1.啟動所有的注冊中心和客戶端

2.查看Eureka注冊中心管理頁面

查看注冊中心 8800 的管理頁面,可以看到客戶端可以正常注冊

如何分析Eureka集群和自我保護機制  

查看注冊中心 8801 的管理頁面,可以看到客戶端也可以正常注冊

如何分析Eureka集群和自我保護機制  

3.關閉一個注冊中心8800,注冊中心8801不受任何影響,整個微服務的集群也不受任何影響,客戶端可以正常注冊

關于如何分析Eureka集群和自我保護機制就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

买车| 阳信县| 图木舒克市| 密云县| 通城县| 天峻县| 诸城市| 大冶市| 平罗县| 永川市| 磐安县| 平定县| 平利县| 石楼县| 雷州市| 广昌县| 宝兴县| 永和县| 洪湖市| 仪陇县| 綦江县| 金沙县| 鹤庆县| 工布江达县| 龙山县| 会宁县| 永年县| 常州市| 太湖县| 沂水县| 池州市| 敦化市| 武城县| 沧州市| 兴和县| 太保市| 修文县| 吉林省| 乌什县| 双峰县| 玛多县|