成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

被妖魔化的服務(wù)發(fā)現(xiàn)原來這么簡單

開發(fā) 架構(gòu)
第一種方法是「輪詢」,消費(fèi)者需要每隔幾秒查詢服務(wù)列表是否有改變。如果服務(wù)很多,服務(wù)列表很大,消費(fèi)者很多,那么服務(wù)發(fā)現(xiàn)也會(huì)有一定的壓力 第二種方法是「訂閱消費(fèi)模式」,服務(wù)消費(fèi)者訂閱一個(gè)消息,服務(wù)提供者有變動(dòng)直接往消息中發(fā)送對(duì)應(yīng)變化就行。

微服務(wù)在當(dāng)今的互聯(lián)網(wǎng)架構(gòu)中的重要性我在這里就不多說了,隨著微服務(wù)的大范圍應(yīng)用,「服務(wù)發(fā)現(xiàn)」這個(gè)詞也變的越來越火熱。在平時(shí)的工作中,我發(fā)現(xiàn)現(xiàn)在很多人喜歡把一些很簡單的事情說的很復(fù)雜,比如什么BFF架構(gòu),這中臺(tái)那中臺(tái)的。其實(shí)服務(wù)發(fā)現(xiàn)也是一樣,很多文章把這塊內(nèi)容寫的過于妖魔化,導(dǎo)致很多人看起來云里霧里的感覺好像很高深的樣子,接下來就放棄這塊了。「其實(shí)服務(wù)發(fā)現(xiàn)是個(gè)很簡單的過程」,稍微有點(diǎn)編碼基礎(chǔ)的人都能看懂。

傳統(tǒng)的客戶端和服務(wù)端的交互模式?

圖片

  • 服務(wù)端1 2 3  分別提供了一個(gè)服務(wù)的「ip」和「端口號(hào)」
  • 這里的客戶端不是咱們狹義理解的客戶端app或者前端,客戶端也可以是一個(gè)服務(wù)端,比如你在一個(gè)golang項(xiàng)目中需要不同的服務(wù)等,那么你這個(gè)golang項(xiàng)目就是上圖中的客戶端,這一點(diǎn)尤其要注意。
  • 如果說的準(zhǔn)確一點(diǎn),這里的客戶端應(yīng)該叫做「服務(wù)消費(fèi)者」,服務(wù)端應(yīng)該叫做「服務(wù)提供者」

上面這種傳統(tǒng)的交互模式看著沒什么問題,但是其實(shí)可用性并沒那么好,首先比如你的服務(wù)端2掛了,但是客戶端還是不知道的,依然會(huì)繼續(xù)請(qǐng)求,這樣可用性當(dāng)然是大大的下降的,所以接下來就引發(fā)出了我們接下來要講的「服務(wù)發(fā)現(xiàn)」模式

服務(wù)發(fā)現(xiàn)模式?

大概流程?

圖片

其實(shí)所謂的服務(wù)發(fā)現(xiàn),就是服務(wù)消費(fèi)者在調(diào)用服務(wù)提供者提供的服務(wù)的時(shí)候,多了一層「服務(wù)中介」。服務(wù)中介中有很多key/value鍵值對(duì),key是「服務(wù)名稱」,value是「服務(wù)提供者的地址列表」。「當(dāng)你新增一個(gè)服務(wù)提供者的時(shí)候,就往服務(wù)中介中寫入kv數(shù)據(jù),這個(gè)過程叫做服務(wù)注冊(cè)」 「當(dāng)你請(qǐng)求一個(gè)服務(wù)的時(shí)候,直接拿著key去服務(wù)中介中取對(duì)應(yīng)的value,也就是服務(wù)提供者的地址列表,然后去請(qǐng)求就可以了。」

當(dāng)服務(wù)提供者節(jié)點(diǎn)掛掉時(shí),要求服務(wù)能夠及時(shí)取消注冊(cè),比便及時(shí)通知消費(fèi)者重新獲取服務(wù)地址。

當(dāng)服務(wù)提供者新加入時(shí),要求服務(wù)中介能及時(shí)告知服務(wù)消費(fèi)者,你要不要嘗試一下新的服務(wù)。

基本過程如下圖

圖片

  • 步驟1:每次新增加一個(gè)服務(wù)提供者,需要先去服務(wù)注冊(cè)中心注冊(cè)一個(gè)key/value(服務(wù)名稱/服務(wù)提供者的地址列表)
  • 步驟2:服務(wù)調(diào)用者不直接調(diào)用服務(wù)提供者,而是拿著標(biāo)志(也就是上面注冊(cè)的key(服務(wù)名稱))去服務(wù)注冊(cè)中心查找對(duì)應(yīng)的value(服務(wù)提供者的地址列表)
  • 步驟3:服務(wù)注冊(cè)中心會(huì)告訴服務(wù)調(diào)用者對(duì)應(yīng)的key(服務(wù)名稱)是否有value(服務(wù)提供者的地址列表),有的話會(huì)把對(duì)應(yīng)的value(服務(wù)提供者的地址列表)返回給服務(wù)調(diào)用者
  • 步驟4:服務(wù)調(diào)用者會(huì)拿著返回的value(服務(wù)提供者的地址列表)去請(qǐng)求對(duì)應(yīng)的服務(wù)

服務(wù)發(fā)現(xiàn)是否太過簡單??

上面的過程看起來好像是有點(diǎn)太簡單了,而且看起來也沒解決什么問題呀,而且好像還徒增了復(fù)雜度。其實(shí)并不是這樣的。

服務(wù)提供者進(jìn)程如果被kill -9暴力殺死,服務(wù)消費(fèi)者不知道怎么辦?

這個(gè)不用擔(dān)心,服務(wù)發(fā)現(xiàn)中引入「服務(wù)保活和檢查機(jī)制」,并更換數(shù)據(jù)結(jié)構(gòu)。服務(wù)提供者需要每隔5秒左右向服務(wù)發(fā)現(xiàn)匯報(bào)存活,服務(wù)發(fā)現(xiàn)將服務(wù)地址和匯報(bào)時(shí)間記錄在kv中。服務(wù)中介需要每隔10秒左右檢查kv數(shù)據(jù)結(jié)構(gòu),踢掉匯報(bào)時(shí)間嚴(yán)重落后的服務(wù)地址項(xiàng)。這樣就可以準(zhǔn)實(shí)時(shí)地保證服務(wù)列表中服務(wù)地址的有效性。這也就是我們說的「服務(wù)健康檢查」

服務(wù)列表變動(dòng)時(shí)如何通知消費(fèi)者?

第一種方法是「輪詢」,消費(fèi)者需要每隔幾秒查詢服務(wù)列表是否有改變。如果服務(wù)很多,服務(wù)列表很大,消費(fèi)者很多,那么服務(wù)發(fā)現(xiàn)也會(huì)有一定的壓力 第二種方法是「訂閱消費(fèi)模式」,服務(wù)消費(fèi)者訂閱一個(gè)消息,服務(wù)提供者有變動(dòng)直接往消息中發(fā)送對(duì)應(yīng)變化就行。

常見的服務(wù)發(fā)現(xiàn)方案?

  • - DNS
  • - mDNS
  • - Zookeeper
  • - Etcd
  • - Consul

具體方案大概了解一下就行,后面我們會(huì)詳細(xì)介紹一下「Consul」,那么我們下期再見吧。如果這篇文章有幫助到你,

責(zé)任編輯:武曉燕 來源: 程序員小飯
相關(guān)推薦

2014-11-25 15:02:01

客服系統(tǒng)

2009-01-18 10:15:20

SaaS服務(wù)SOA

2021-04-19 05:42:51

Mmap文件系統(tǒng)

2023-11-01 14:49:07

2020-09-24 06:44:54

HTTPS網(wǎng)站 HTTP

2014-10-08 15:00:50

SUSE操作系統(tǒng)云計(jì)算

2019-03-15 10:55:12

通信系統(tǒng)手機(jī)

2023-09-22 08:00:00

分布式鎖Redis

2020-11-27 10:34:01

HTTPHTTPS模型

2014-06-06 14:48:58

TDFDD4G

2020-10-22 08:01:52

XMLJSON轉(zhuǎn)換

2010-08-02 13:55:20

2016-03-21 11:09:52

Tableau/大數(shù)據(jù)

2025-03-20 12:33:36

2019-07-15 09:06:08

程序員技能開發(fā)者

2019-05-27 14:03:48

開發(fā)技能代碼

2022-01-27 14:12:49

Python游戲腳本

2021-12-30 10:55:54

Python游戲腳本

2021-06-10 06:57:39

Redis存儲(chǔ)數(shù)據(jù)庫

2020-11-02 14:38:56

Java 深度學(xué)習(xí)模型
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 夜夜草 | 五月天天丁香婷婷在线中 | 国产精品久久久久久久久久免费看 | 久久在线视频 | 国产激情视频 | 中文成人无字幕乱码精品 | 不卡视频在线 | 国产精品1区2区3区 欧美 中文字幕 | 欧美一级黄 | 一区二区三区免费 | 国产欧美精品一区二区色综合朱莉 | 老司机狠狠爱 | 一区二区在线 | 国产高清视频一区 | 久久久91| 免费视频中文字幕 | 亚洲二区视频 | 欧美一区二区三区 | 国产二区三区 | 91社区在线观看高清 | 成年人免费在线视频 | 成人av网页 | 国产免费一区二区三区免费视频 | 欧美另类视频在线 | 我想看一级黄色毛片 | 久久国产精品-久久精品 | 欧美lesbianxxxxhd视频社区 | 久久一二三区 | 亚洲高清免费视频 | 久久综合久色欧美综合狠狠 | 日韩在线不卡 | 国产精品视频一区二区三区四区国 | 亚洲一区二区三区四区五区中文 | 韩国久久精品 | 国内自拍视频在线观看 | 久草视频观看 | 伊人精品在线 | 久久久国产一区二区三区 | 粉嫩av在线| 天天干天天谢 | 国产91亚洲精品一区二区三区 |