欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡(jiǎn)單了解springboot eureka交流機(jī)制

 更新時(shí)間:2020年04月20日 10:44:02   作者:知識(shí)追尋者  
這篇文章主要介紹了簡(jiǎn)單了解springboot eureka交流機(jī)制,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一 前言

這篇文章參考了官方文檔,主要是描述了eureka client 和 eureka server 之間的交流機(jī)制; peer to peer 的 對(duì)等復(fù)制交流機(jī)制;

eureka 官方文檔

二 server client 之間的交流

euraka 的 client 與 server 之間的交流主要通過(guò)如下方面;

2.1 Register

Register (服務(wù)注冊(cè)) ; Eureka client 會(huì)向 Eureka server 注冊(cè) 關(guān)于自生運(yùn)行實(shí)例的信息,比如 ip 地址,主機(jī)名,健康狀態(tài);

2.2 Renew

Renew(服務(wù)續(xù)約);Eureka client 會(huì)向 Eureka server 每隔30秒發(fā)送心跳;續(xù)約的目的是通知 Eureka server 自己代表的實(shí)例是處于存活狀態(tài);如果 Eureka server 90 秒內(nèi) 未收到 續(xù)約心跳,就會(huì)將這個(gè)實(shí)例從服務(wù)列表中剔除;官方建議是不要修改續(xù)約間隔,原因是服務(wù)器要使用這些信息去確認(rèn) Eureka server 與 Eureka client 之間的交流是否存在廣泛傳播的問(wèn)題;

2.3 Fetch Registry

Fetch Registry(抓取注冊(cè)列表);Eureka clients 會(huì) 從 Eureka server 中 抓取注冊(cè)的服務(wù)列表并且緩存到本地;Eureka clients 緩存本地的服務(wù)列表信息會(huì)以30秒為間隔定期更新增量信息(上次抓取與當(dāng)前抓取的服務(wù)列表之間不同的信息);通常 Eureka server 會(huì)保存增量信息3分鐘;因此,Eureka clients 每個(gè)增量抓取的服務(wù)信息有可能是相同的實(shí)例;Eureka client 會(huì)自動(dòng)處理這些重復(fù)的信息;

如果處于一些原因?qū)е伦ト〉男畔⒉黄ヅ洌珽ureka Client 就會(huì)重新抓取整個(gè)注冊(cè)列表的服務(wù)信息;Eureka 抓取的信息是以json或者xml格式,通常是josn格式,并且是被壓縮過(guò)信息,這些壓縮過(guò)的信息與沒(méi)壓縮過(guò)的細(xì)信息是相同,壓縮的目的就是減小體積,提升性能;

2.4 Cancel

Cancel(服務(wù)下線);Eureka client 會(huì)發(fā)送 下線請(qǐng)求給 Eureka server ,Eureka server 就會(huì)將 這個(gè) client 的實(shí)例從注冊(cè)列表中剔除;發(fā)送下線請(qǐng)求代碼如下:

DiscoveryManager.getInstance().shutdownComponent()

2.5 Time Lag

Time Lag (時(shí)間差);所有的 Eureka client操作都會(huì)反應(yīng)給 Eureka Server 或者 接下來(lái)其他的 Eureka client ;由于 Eureka server 會(huì)緩存 有效信息并根據(jù)時(shí)間周期更新,Eureka Client 也會(huì) 根據(jù)時(shí)間周期定期更新增量信息;因此,可能會(huì)占據(jù)2分鐘左右的時(shí)間將更新的信息全部發(fā)送到Eureka Client ;

三 peer to peer 之間的交流

3.1 故障處理

Eureka clients 與 Eureka server 之間的交流是在相同的zone之間交流;如果 server發(fā)生問(wèn)題或者不在相同的zone中,client 就會(huì)將 故障轉(zhuǎn)移到server 的其他zone中處理,每個(gè)node中都會(huì)有一個(gè)zone用于專(zhuān)門(mén)處理故障;

3.2 peer to peer

如果 server 開(kāi)始接受流量,Eureka client所有的操作都會(huì)在server 上執(zhí)行,附近的 集群node就會(huì)嘗試復(fù)制一份server已知信息到自己的node;如果Eureka clinet 操作出于某些原因失敗了,這些信息就會(huì)遺留到下次心跳進(jìn)行協(xié)調(diào),心跳也會(huì)在server之間復(fù)制;

如果server啟動(dòng) ,就會(huì)嘗試獲取附近 node 的信息復(fù)制一份過(guò)來(lái);如果從這個(gè)node復(fù)制過(guò)來(lái)的信息存在問(wèn)題,就會(huì)放棄與之peer to peer(對(duì)等復(fù)制);如果client續(xù)約的時(shí)間低至一個(gè)閾值(15 分鐘內(nèi)低于 85%),那么server 也會(huì)停止這些過(guò)期的 client 以保護(hù) 已經(jīng)注冊(cè)的信息;

peer to peer 也就是 eureka 的自我保護(hù)機(jī)制; 當(dāng) Eureka client 與 Eureka server之間存在網(wǎng)絡(luò)分區(qū)的情況,Eureka server 會(huì) 保護(hù)已經(jīng)保存的信息,此時(shí) Eureka client 是不能向 Eureka server 注冊(cè)自己,最好的方法就是嘗試向其他的 Eureka server注冊(cè)自己;在這種情況下 server 無(wú)法從附近的 node 獲取注冊(cè)信息,此時(shí)會(huì)等待 5分鐘 讓 client 注冊(cè)信息,因此流量?jī)A斜到某組實(shí)例,會(huì)造成容量問(wèn)題;

3.3 peer之間斷網(wǎng)

peer之間斷網(wǎng)會(huì)發(fā)生如下情況:

peers 之間心跳復(fù)制就會(huì)失敗,server 會(huì)檢查到這種情況并且進(jìn)入自我保護(hù)機(jī)制,保護(hù)當(dāng)前已經(jīng)保存的信息;

server會(huì)出現(xiàn)孤立情況,換句話說(shuō)有些 Eureka Client 會(huì) 收到 新的注冊(cè)信息,有些則收不到;也就是我們經(jīng)常說(shuō)的數(shù)據(jù)丟失;

當(dāng)網(wǎng)絡(luò)恢復(fù)并且穩(wěn)定,peers 之間能夠進(jìn)行健康交流,注冊(cè)信息會(huì)自動(dòng)的同步到其他server;

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于Java編寫(xiě)簡(jiǎn)單的Excel工具類(lèi)

    基于Java編寫(xiě)簡(jiǎn)單的Excel工具類(lèi)

    這篇文章主要為大家詳細(xì)介紹了如何基于Java編寫(xiě)簡(jiǎn)單的Excel工具類(lèi),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考下
    2024-02-02
  • IDEA2020.3.2版本自動(dòng)注釋類(lèi)和方法注釋模板配置步驟詳解

    IDEA2020.3.2版本自動(dòng)注釋類(lèi)和方法注釋模板配置步驟詳解

    這篇文章主要介紹了IDEA2020.3.2版本自動(dòng)注釋類(lèi)和方法注釋模板配置步驟,本文給大家分享了我自己創(chuàng)建過(guò)程通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • java實(shí)現(xiàn)可視化日歷

    java實(shí)現(xiàn)可視化日歷

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)可視化日歷,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • IDEA SSM框架整合配置及步驟詳解

    IDEA SSM框架整合配置及步驟詳解

    這篇文章主要介紹了IDEA SSM框架整合配置以及步驟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Java虛擬機(jī)裝載和初始化一個(gè)class類(lèi)代碼解析

    Java虛擬機(jī)裝載和初始化一個(gè)class類(lèi)代碼解析

    這篇文章的主要內(nèi)容是Java虛擬機(jī)裝載和初始化一個(gè)class類(lèi)的代碼解析,包括介紹了裝載和初始化的時(shí)機(jī)與方式,需要的朋友可以參考下。
    2017-09-09
  • Java數(shù)據(jù)結(jié)構(gòu)之位圖的簡(jiǎn)單實(shí)現(xiàn)和使用

    Java數(shù)據(jù)結(jié)構(gòu)之位圖的簡(jiǎn)單實(shí)現(xiàn)和使用

    位圖,?是一種非常常見(jiàn)的結(jié)構(gòu),?它使用每個(gè)二進(jìn)制位來(lái)存放一個(gè)值的狀態(tài),?就類(lèi)似于?Java?當(dāng)中?HashSet?存儲(chǔ)元素的功能。本文主要來(lái)介紹一下位圖的簡(jiǎn)單實(shí)現(xiàn)和使用,需要的可以參考一下
    2023-05-05
  • java stream中Collectors的用法實(shí)例精講

    java stream中Collectors的用法實(shí)例精講

    這篇文章主要為大家介紹了java stream中Collectors的用法實(shí)例精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Java 事務(wù)詳解及簡(jiǎn)單應(yīng)用實(shí)例

    Java 事務(wù)詳解及簡(jiǎn)單應(yīng)用實(shí)例

    這篇文章主要介紹了Java 事務(wù)詳解及簡(jiǎn)單應(yīng)用實(shí)例的相關(guān)資料,java事務(wù)能夠保證數(shù)據(jù)的完整性和一致性,當(dāng)然這是書(shū)本上的知識(shí),具體如何應(yīng)用這里舉例說(shuō)明,需要的朋友可以參考下
    2016-12-12
  • 詳解MyBatis中主鍵回填的兩種實(shí)現(xiàn)方式

    詳解MyBatis中主鍵回填的兩種實(shí)現(xiàn)方式

    這篇文章主要介紹了詳解MyBatis中主鍵回填的兩種實(shí)現(xiàn)方式,主鍵回填其實(shí)是一個(gè)非常常見(jiàn)的需求,特別是在數(shù)據(jù)添加的過(guò)程中,我們經(jīng)常需要添加完數(shù)據(jù)之后,需要獲取剛剛添加的數(shù)據(jù) id,有興趣的可以參考一下
    2019-04-04
  • 基于java構(gòu)造方法Vevtor添加元素源碼分析

    基于java構(gòu)造方法Vevtor添加元素源碼分析

    這篇文章主要介紹了基于java構(gòu)造方法中對(duì)Vevtor添加元素的源碼分析,有需要的朋友可以借鑒參考下,希望可以對(duì)大家有所幫助,祝大家早日升職加薪
    2021-09-09

最新評(píng)論