一、服務注冊與發(fā)現(xiàn)

一腔彰、Eureka

????Eureka采用了CS的設計架構叫编,Eureka? Server作為服務注冊功能的服務器,它是服務注冊中心霹抛。而系統(tǒng)中的其他微服務搓逾,使用Eureka的客戶端連接到Eureka Server并維持心跳連接。這樣系統(tǒng)的運維人員就可以通過Eureka Server來監(jiān)控系統(tǒng)中能夠各個微服務是否正常運行杯拐。

? ? 當服務啟動的時候霞篡,會把自己服務器的信息(比如服務地址/通訊地址等)以別名方式注冊到注冊測中心上。另一方(消費者|服務提供者)以該別名的方式去注冊中心上獲取實際的服務通訊地址端逼,然后再實現(xiàn)本地RPC調(diào)用遠程RPC朗兵。

eureka

? ? 1.Eureka的兩個組件

Eureka Server 提供服務注冊服務:各個微服務節(jié)點通過配置啟動后,會在EurekaServer中進行注冊顶滩,這樣EurekaServer中的服務器注冊表中將會存儲所有可用服務節(jié)點的信息余掖,服務節(jié)點的信息會在界面中進行直觀展示。

EurekaClient 通過注冊中心訪問:它是一個Java客戶端礁鲁,用于簡化EurekaServer的交互浊吏,客戶端同時也具備一個內(nèi)置的、使用輪詢(round-robin)負載算法的負載均衡器救氯。在應用啟動后找田,將會向EurekaServer發(fā)送心跳(默認周期為30秒)。如果EurekaServer在多個心跳周期內(nèi)沒有接收到某個節(jié)點的心跳着憨,EurekaServer將會從服務注冊表中把這個服務節(jié)點移除(默認90秒)

**名詞解釋**

服務注冊 Register: 當 Eureka 客戶端向 Eureka Server 注冊時墩衙,它提供自身的元數(shù)據(jù),比如IP地址甲抖、端口漆改,運行狀況指示符URL,主頁等准谚。

服務續(xù)約 Renew: Eureka 客戶會每隔30秒(默認情況下)發(fā)送一次心跳來續(xù)約挫剑。通過續(xù)約來告知 Eureka Server 該 Eureka 客戶仍然存在,沒有出現(xiàn)問題柱衔。正常情況下樊破,如果 Eureka Server 在90秒沒有收到 Eureka 客戶的續(xù)約愉棱,它會將實例從其注冊表中刪除。

獲取注冊列表信息 Fetch Registries: Eureka 客戶端從服務器獲取注冊表信息哲戚,并將其緩存在本地奔滑。客戶端會使用該信息查找其他服務顺少,從而進行遠程調(diào)用朋其。該注冊列表信息定期(每30秒鐘)更新一次。每次返回注冊列表信息可能與 Eureka 客戶端的緩存信息不同, Eureka 客戶端自動處理脆炎。如果由于某種原因導致注冊列表信息不能及時匹配梅猿,Eureka 客戶端則會重新獲取整個注冊表信息。Eureka 服務器緩存注冊列表信息秒裕,整個注冊表以及每個應用程序的信息進行了壓縮袱蚓,壓縮內(nèi)容和沒有壓縮的內(nèi)容完全相同。Eureka 客戶端和 Eureka 服務器可以使用JSON / XML格式進行通訊簇爆。在默認的情況下 Eureka 客戶端使用壓縮 JSON 格式來獲取注冊列表的信息癞松。

服務下線 Cancel : Eureka客戶端在程序關閉時向Eureka服務器發(fā)送取消請求。發(fā)送請求后入蛆,該客戶端實例信息將從服務器的實例注冊表中刪除响蓉。該下線請求不會自動完成,它需要調(diào)用以下內(nèi)容:DiscoveryManager.getInstance().shutdownComponent();

服務剔除 Eviction: 在默認的情況下哨毁,當Eureka客戶端連續(xù)90秒(3個續(xù)約周期)沒有向Eureka服務器發(fā)送服務續(xù)約枫甲,即心跳,Eureka服務器會將該服務實例從服務注冊列表刪除扼褪,即服務剔除想幻。

? ??2.Eureka自我保護機制

為什么? 當EurekaClient與EurekaServer網(wǎng)絡不通時话浇,EurekaServer不會立刻把EurekaClient服務剔除

是什么脏毯?默認情況下,如果EurekaServer在一定時間內(nèi)沒有收到某個微服務實例的心跳幔崖,EurekaServer將會注銷該實例(默認90秒)食店。但是當網(wǎng)絡分區(qū)故障發(fā)生(延時、卡頓赏寇、擁擠)時吉嫩,微服務與EruekaServer之間無法正常通信,以上行為可能變得非常危險了——因為微服務本身其實是健康的嗅定,此時不應該注銷這個微服務自娩。這時候就需要進行自我保護模式。?

? ? 3. Eureka現(xiàn)狀

? ? Eureka1.0仍可以使用渠退,但是2.0版本已經(jīng)停更忙迁。


二脐彩、zookeeper

????Zookeeper是一個分布式的開放源碼的分布式應用程序協(xié)調(diào)服務动漾,是Google的Chubby開源的實現(xiàn)丁屎,是Hadoop和Hbase的重要組件荠锭。它是一個為分布式應用提供一致性服務的軟件旱眯,提供的功能包括:配置維護、域名服務证九、分布式同步删豺、組服務等。??

(zookeeper=文件系統(tǒng)+監(jiān)聽通知機制

? ? 1.Zookeeper的節(jié)點類型

① 臨時節(jié)點 ②帶序號的臨時節(jié)點 ③ 持久節(jié)點 ④帶序號的持久節(jié)點

? ? 2. Zookeeper作為注冊中心愧怜,其節(jié)點是臨時節(jié)點

在與服務提供者失去心跳連接一段時間后呀页,zookeeper將會把該服務信息刪除,如果該服務重新注冊拥坛,就能獲取服務注冊信息蓬蝶。


三、consul

? ? Consul 是一套開源的分布式服務發(fā)現(xiàn)配置管理系統(tǒng)猜惋,由HashiCorp公司用Go語言開發(fā)丸氛。

? ? 提供了微服務系統(tǒng)中的服務治理配置中心著摔、控制總線等功能缓窜。這些功能中的每一個都可以根據(jù)需要單獨使用,也可以一起使用以構建全方位的服務網(wǎng)絡谍咆。


四禾锤、三個組件的異同點

三種組件異同

? ? Erueka -- 注重可用性和容錯性,在與服務提供者斷連以后仍保留該服務節(jié)點的數(shù)據(jù)摹察。

? ? Consul和Zookeeper -- 注重一致性和容錯性恩掷,會在默認時間內(nèi)刪除服務節(jié)點信息,反應快供嚎。

? ? CAP架構

C:Consistency (強一致性)

A:Availability(可用性)

P:Partition tolerance(分區(qū)容錯性)

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末黄娘,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子查坪,更是在濱河造成了極大的恐慌寸宏,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偿曙,死亡現(xiàn)場離奇詭異氮凝,居然都是意外死亡,警方通過查閱死者的電腦和手機望忆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門罩阵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來竿秆,“玉大人,你說我怎么就攤上這事稿壁∮母郑” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵傅是,是天一觀的道長匪燕。 經(jīng)常有香客問我,道長喧笔,這世上最難降的妖魔是什么帽驯? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮书闸,結果婚禮上尼变,老公的妹妹穿的比我還像新娘。我一直安慰自己浆劲,他們只是感情好嫌术,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著牌借,像睡著了一般度气。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上走哺,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天蚯嫌,我揣著相機與錄音,去河邊找鬼丙躏。 笑死择示,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的晒旅。 我是一名探鬼主播栅盲,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼废恋!你這毒婦竟也來了谈秫?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤鱼鼓,失蹤者是張志新(化名)和其女友劉穎拟烫,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體迄本,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡硕淑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片置媳。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡于樟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拇囊,到底是詐尸還是另有隱情迂曲,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布寥袭,位于F島的核電站路捧,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏纠永。R本人自食惡果不足惜鬓长,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一谒拴、第九天 我趴在偏房一處隱蔽的房頂上張望尝江。 院中可真熱鬧,春花似錦英上、人聲如沸炭序。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惭聂。三九已至,卻和暖如春相恃,著一層夾襖步出監(jiān)牢的瞬間辜纲,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工拦耐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留耕腾,地道東北人。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓杀糯,卻偏偏與公主長得像扫俺,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子固翰,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350