Eureka -- 注冊(cè)中心(1)

1. Eureka是什么

Eureka是一個(gè)基于REST的服務(wù),主要用于AWS云中的定位服務(wù)瑰枫,以實(shí)現(xiàn)中間層服務(wù)器的負(fù)載平衡和故障轉(zhuǎn)移

在 Spring Cloud 微服務(wù)架構(gòu)中通常用作注冊(cè)中心

我們稱這個(gè)服務(wù)為 Eureka Server壹罚,還有一個(gè)與之交互的客戶端稱之為 Eureka Client

2. Eureka高級(jí)架構(gòu)

image

如上圖所示预柒,其中

Application Server 表示服務(wù)提供方

Application Client 表示服務(wù)消費(fèi)方

Make Remote Call 表示遠(yuǎn)程調(diào)用

服務(wù)在Eureka上注冊(cè)葱蝗,然后每隔30秒發(fā)送心跳來更新它們的租約拟逮。如果客戶端不能多次續(xù)訂租約,那么它將在大約90秒內(nèi)從服務(wù)器注冊(cè)表中剔除巩剖。注冊(cè)信息和更新被復(fù)制到集群中的所有eureka節(jié)點(diǎn)铝穷。來自任何區(qū)域的客戶端都可以查找注冊(cè)表信息(每30秒發(fā)生一次)來定位它們的服務(wù)(可能在任何區(qū)域)并進(jìn)行遠(yuǎn)程調(diào)用。

(PS:Eureka Client需要每30秒給Eureka Server發(fā)一次心跳佳魔,同時(shí)更新Server上最新的注冊(cè)信息到本地曙聂,如果Server多次沒有收到來自客戶端的心跳,那么在90秒內(nèi)會(huì)被Server上剔除)

3. Eureka 客戶端與服務(wù)器之間的通信

服務(wù)發(fā)現(xiàn)有兩種模式:一種是客戶端發(fā)現(xiàn)模式鞠鲜,一種是服務(wù)端發(fā)現(xiàn)模式宁脊。Eureka采用的是客戶端發(fā)現(xiàn)模式。

3.1. Register(注冊(cè))

Eureka客戶端將關(guān)于運(yùn)行實(shí)例的信息注冊(cè)到Eureka服務(wù)器贤姆。注冊(cè)發(fā)生在第一次心跳榆苞。

3.2. Renew(更新 / 續(xù)借)

Eureka客戶端需要更新最新注冊(cè)信息(續(xù)借),通過每30秒發(fā)送一次心跳庐氮。更新通知是為了告訴Eureka服務(wù)器實(shí)例仍然存活语稠。如果服務(wù)器在90秒內(nèi)沒有看到更新,它會(huì)將實(shí)例從注冊(cè)表中刪除弄砍。建議不要更改更新間隔仙畦,因?yàn)榉?wù)器使用該信息來確定客戶機(jī)與服務(wù)器之間的通信是否存在廣泛傳播的問題。

3.3. Fetch Registry(抓取注冊(cè)信息)

Eureka客戶端從服務(wù)器獲取注冊(cè)表信息并在本地緩存音婶。之后慨畸,客戶端使用這些信息來查找其他服務(wù)。通過在上一個(gè)獲取周期和當(dāng)前獲取周期之間獲取增量更新衣式,這些信息會(huì)定期更新(每30秒更新一次)寸士。獲取的時(shí)候可能返回相同的實(shí)例。Eureka客戶端自動(dòng)處理重復(fù)信息碴卧。

3.4. Cancel(取消)

Eureka客戶端在關(guān)機(jī)時(shí)向Eureka服務(wù)器發(fā)送一個(gè)取消請(qǐng)求弱卡。這將從服務(wù)器的實(shí)例注冊(cè)表中刪除實(shí)例,從而有效地將實(shí)例從流量中取出住册。

4. Eureka自我保護(hù)模式

如果 Eureka 服務(wù)器檢測(cè)到超過預(yù)期數(shù)量的注冊(cè)客戶端以一種不優(yōu)雅的方式終止了連接婶博,并且同時(shí)正在等待被驅(qū)逐,那么它們將進(jìn)入自我保護(hù)模式荧飞。這樣做是為了確保災(zāi)難性網(wǎng)絡(luò)事件不會(huì)擦除eureka注冊(cè)表數(shù)據(jù)凡人,并將其向下傳播到所有客戶端。

任何客戶端叹阔,如果連續(xù)3次心跳更新失敗挠轴,那么它將被視為非正常終止,病句將被剔除耳幢。當(dāng)超過當(dāng)前注冊(cè)實(shí)例15%的客戶端都處于這種狀態(tài)岸晦,那么自我保護(hù)將被開啟。

當(dāng)自我保護(hù)開啟以后,eureka服務(wù)器將停止剔除所有實(shí)例委煤,直到:

1. 它看到的心跳續(xù)借的數(shù)量回到了預(yù)期的閾值之上堂油,或者
2. 自我保護(hù)被禁用

默認(rèn)情況下,自我保護(hù)是啟用的碧绞,并且府框,默認(rèn)的閾值是要大于當(dāng)前注冊(cè)數(shù)量的15%

5. Eureka VS Zookeeper

5.1. Eureka保證AP

Eureka服務(wù)器節(jié)點(diǎn)之間是對(duì)等的,只要有一個(gè)節(jié)點(diǎn)在讥邻,就可以正常提供服務(wù)迫靖。

Eureka客戶端的所有操作可能需要一段時(shí)間才能在Eureka服務(wù)器中反映出來,隨后在其他Eureka客戶端中反映出來兴使。也就是說系宜,客戶端獲取到的注冊(cè)信息可能不是最新的,它并不保證強(qiáng)一致性

5.2. Zookeeper保證CP

Zookeeper集群中有一個(gè)Leader发魄,多個(gè)Follower盹牧。Leader負(fù)責(zé)寫,F(xiàn)ollower負(fù)責(zé)讀励幼,ZK客戶端連接到任何一個(gè)節(jié)點(diǎn)都是一樣的汰寓,寫操作完成以后要同步給所有Follower以后才會(huì)返回。如果Leader掛了苹粟,那么重新選出新的Leader有滑,在此期間服務(wù)不可用。

5.3. 為什么用Eureka

分布式系統(tǒng)大都可以歸結(jié)為兩個(gè)問題:數(shù)據(jù)一致性和防止單點(diǎn)故障嵌削。而作為注冊(cè)中心的話毛好,即使在一段時(shí)間內(nèi)不一致,也不會(huì)有太大影響苛秕,所以在A和C之間選擇A是比較適合該場(chǎng)景的肌访。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市艇劫,隨后出現(xiàn)的幾起案子场靴,更是在濱河造成了極大的恐慌,老刑警劉巖港准,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異咧欣,居然都是意外死亡浅缸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門魄咕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衩椒,“玉大人,你說我怎么就攤上這事∶龋” “怎么了苟弛?”我有些...
    開封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)阁将。 經(jīng)常有香客問我膏秫,道長(zhǎng),這世上最難降的妖魔是什么做盅? 我笑而不...
    開封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任缤削,我火速辦了婚禮,結(jié)果婚禮上吹榴,老公的妹妹穿的比我還像新娘亭敢。我一直安慰自己,他們只是感情好图筹,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開白布帅刀。 她就那樣靜靜地躺著,像睡著了一般远剩。 火紅的嫁衣襯著肌膚如雪扣溺。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天民宿,我揣著相機(jī)與錄音娇妓,去河邊找鬼。 笑死活鹰,一個(gè)胖子當(dāng)著我的面吹牛哈恰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播志群,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼着绷,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了锌云?” 一聲冷哼從身側(cè)響起荠医,我...
    開封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎桑涎,沒想到半個(gè)月后彬向,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡攻冷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年娃胆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片等曼。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡里烦,死狀恐怖凿蒜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情胁黑,我是刑警寧澤废封,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站丧蘸,受9級(jí)特大地震影響漂洋,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜触趴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一氮发、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧冗懦,春花似錦爽冕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至没讲,卻和暖如春眯娱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背爬凑。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工徙缴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人嘁信。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓于样,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親潘靖。 傳聞我的和親對(duì)象是個(gè)殘疾皇子穿剖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359