給測(cè)試小姐姐講RPC——注冊(cè)中心

看了柳大神的《如可給老婆解釋什么是rpc》《如何實(shí)現(xiàn)一個(gè)簡(jiǎn)單的RPC》之后漩氨,我按這個(gè)思路給我們的測(cè)試小姐姐解釋了什么是RPC,測(cè)試小姐姐畢竟是有功底的人窒所,一下子就明白了

測(cè)試:“哦!RPC就是讓服務(wù)的使用方像調(diào)用本地接口一樣調(diào)用遠(yuǎn)程服務(wù)是吧”

me:“完全正確”

測(cè)試:“明白了,那zk是干什么的寂祥,我們公司用RPC的時(shí)候老是提到ZK”

me:“ZK啊,ZK是個(gè)注冊(cè)中心”

測(cè)試:“哦七兜?注冊(cè)中心是什么吖丸凭?為什么要用注冊(cè)中心吖?怎么用注冊(cè)中心吖腕铸?”

me:“你這哲學(xué)三問打頭惜犀,我有點(diǎn)招架不住啊,我理一理思路”

測(cè)試:“你說”

me:“上一集講RPC的時(shí)候狠裹,我們是把被調(diào)用的服務(wù)的IP和端口寫死的虽界。但是這樣并不好,如果有一天我們需要加機(jī)器了涛菠,我們還要重新修改IP和端口莉御,然后重新發(fā)布”

測(cè)試:“你之前不是搞了個(gè)配置中心么,把ip和端口配到配置中心寫成個(gè)list碗暗,調(diào)用的時(shí)候從list里面隨便挑一個(gè)颈将,地址換了改一下配置中心就好了啊”

me:“真機(jī)智,其實(shí)我覺得這已經(jīng)算是一個(gè)不可靠的注冊(cè)中心的原型了言疗,能在服務(wù)啟動(dòng)的時(shí)候進(jìn)行注冊(cè)晴圾,服務(wù)停止的時(shí)候刪除,然后讓服務(wù)調(diào)用方可以查詢服務(wù)的注冊(cè)信息噪奄,也就是所謂【服務(wù)注冊(cè)與發(fā)現(xiàn)】

測(cè)試:“不可靠死姚?”

me:“你想啊,要是我們有一臺(tái)提供服務(wù)的機(jī)器大半夜突然掛掉了勤篮。都毒。∨龅蓿”

測(cè)試:“是啊账劲,那該怎么辦呢,要是能知道哪臺(tái)機(jī)器能用哪臺(tái)機(jī)器不能用就好了金抡,我們只用那些可以用的機(jī)器”

me:“贊瀑焦!這就涉及到注冊(cè)中心的一個(gè)重要特點(diǎn)了,【錯(cuò)誤轉(zhuǎn)移】當(dāng)某個(gè)服務(wù)提供者異常時(shí)梗肝,能及時(shí)刪除注冊(cè)信息榛瓮。一般注冊(cè)中心會(huì)定時(shí)發(fā)送心跳包,來檢測(cè)服務(wù)提供方是否在線巫击,并及時(shí)刪除下線節(jié)點(diǎn)”

測(cè)試:“這樣啊禀晓,那我們直接在調(diào)用方這么做不就好了精续,調(diào)用一臺(tái)機(jī)器失敗了,就訪問下一臺(tái)粹懒,一直到成功為止”

me:“好辦法重付,那如果某一臺(tái)機(jī)器死掉了,那我們每次調(diào)用的時(shí)候都有幾率會(huì)失敗凫乖,這很浪費(fèi)時(shí)間啊堪夭。要是我們把死掉機(jī)器記錄下來不再調(diào)用,那如果這臺(tái)機(jī)器過一會(huì)重啟了拣凹,我們也還是不會(huì)去請(qǐng)求他,這樣會(huì)很浪費(fèi)資源的”

測(cè)試:“是哦恨豁,可是你的服務(wù)重啟了嚣镜,注冊(cè)中心也不知道啊”

me:“好問題,這又涉及到注冊(cè)中心的另一個(gè)特點(diǎn)橘蜜,當(dāng)某個(gè)服務(wù)啟動(dòng)時(shí)菊匿,可以重新注冊(cè)到注冊(cè)中心上

測(cè)試:“明白了,所以注冊(cè)中心的作用就是计福,當(dāng)服務(wù)啟動(dòng)的時(shí)候把服務(wù)的ip和端口注冊(cè)上去跌捆,服務(wù)異常的時(shí)候注冊(cè)中心就把這臺(tái)機(jī)器的注冊(cè)信息刪除掉,然后請(qǐng)求方只需要每次調(diào)用的時(shí)候去注冊(cè)中心拿服務(wù)的注冊(cè)信息再調(diào)用就可以了象颖,對(duì)吧”

me:“差不多是這樣了佩厚,但是還有個(gè)問題,你想想说订,要是你的服務(wù)提供者都是正常的抄瓦,但是注冊(cè)中心突然掛了,那怎么辦陶冷,全公司的服務(wù)都沒法請(qǐng)求了”

測(cè)試:“這個(gè)好說钙姊,本地緩存一份注冊(cè)信息,每次從本地緩存來取埂伦,然后定時(shí)更新緩存”

me:“這也是個(gè)辦法煞额,不過一般的緩存更新不會(huì)采用輪詢的方式,而是通過通知的方式沾谜,客戶端與注冊(cè)中心建立一個(gè)長連接膊毁,并注冊(cè)一個(gè)監(jiān)聽器,服務(wù)注冊(cè)信息發(fā)生變化的時(shí)候通知服務(wù)調(diào)用方更新注冊(cè)信息类早,這樣做既能及時(shí)更新信息媚媒,又能減少頻繁訪問帶來的網(wǎng)絡(luò)開銷”

小姐姐畫的注冊(cè)中心圖解

Tips(注冊(cè)中心講解過程中的一些支線交流)

負(fù)載均衡

有多臺(tái)機(jī)器提供服務(wù)的時(shí)候注冊(cè)中心怎么做LB呢(這是個(gè)優(yōu)秀的測(cè)試小姐姐,她自己在公司分享過Nginx)

  • 其實(shí)負(fù)載均衡不是注冊(cè)中心的事情涩僻,這個(gè)事情應(yīng)該交給RPC框架缭召,或者說是RPC的調(diào)用方去完成

輪詢和心跳

輪詢和心跳的區(qū)別栈顷,簡(jiǎn)單列一下

  1. 輪詢往往由客戶端發(fā)起,向服務(wù)端請(qǐng)求數(shù)據(jù)嵌巷,而心跳則可以由客戶端發(fā)起萄凤,也可由服務(wù)端發(fā)起
  2. 輪詢每次請(qǐng)求需要重新建立連接,而心跳通常會(huì)保持一個(gè)TCP連接來完成搪哪,所以輪詢的開銷更大
  3. 輪詢往往希望請(qǐng)求數(shù)據(jù)靡努,而心跳則僅僅為了保持連接

輪詢和監(jiān)聽

為什么使用長連接監(jiān)聽而不是輪詢的方式來進(jìn)行服務(wù)注冊(cè)信息的更新呢

  1. 數(shù)據(jù)更新的及時(shí)性:及時(shí)性取決于輪詢的頻率,設(shè)定多高的頻率能保證及時(shí)更新呢
  2. 資源開銷:每一次輪詢都要新建連接晓折,這回造成很大的開銷惑朦,特別是為了及時(shí)性而提高輪詢頻率之后
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市漓概,隨后出現(xiàn)的幾起案子漾月,更是在濱河造成了極大的恐慌,老刑警劉巖胃珍,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件梁肿,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡觅彰,警方通過查閱死者的電腦和手機(jī)吩蔑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來填抬,“玉大人烛芬,你說我怎么就攤上這事§穑” “怎么了蛀骇?”我有些...
    開封第一講書人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長读拆。 經(jīng)常有香客問我擅憔,道長,這世上最難降的妖魔是什么檐晕? 我笑而不...
    開封第一講書人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任暑诸,我火速辦了婚禮,結(jié)果婚禮上辟灰,老公的妹妹穿的比我還像新娘个榕。我一直安慰自己,他們只是感情好芥喇,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開白布西采。 她就那樣靜靜地躺著,像睡著了一般继控。 火紅的嫁衣襯著肌膚如雪械馆。 梳的紋絲不亂的頭發(fā)上胖眷,一...
    開封第一講書人閱讀 51,274評(píng)論 1 300
  • 那天,我揣著相機(jī)與錄音霹崎,去河邊找鬼珊搀。 笑死,一個(gè)胖子當(dāng)著我的面吹牛尾菇,可吹牛的內(nèi)容都是我干的境析。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼派诬,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼劳淆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起默赂,我...
    開封第一講書人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤憔儿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后放可,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡朝刊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年耀里,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拾氓。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡冯挎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出咙鞍,到底是詐尸還是另有隱情房官,我是刑警寧澤,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布续滋,位于F島的核電站翰守,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏疲酌。R本人自食惡果不足惜蜡峰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望朗恳。 院中可真熱鬧湿颅,春花似錦、人聲如沸粥诫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽怀浆。三九已至谊囚,卻和暖如春怕享,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背秒啦。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來泰國打工熬粗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人余境。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓驻呐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親芳来。 傳聞我的和親對(duì)象是個(gè)殘疾皇子含末,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)即舌,斷路器佣盒,智...
    卡卡羅2017閱讀 134,654評(píng)論 18 139
  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 31,930評(píng)論 2 89
  • RPC注冊(cè)中心-- 檢測(cè)服務(wù)是否存活=注冊(cè)中心的職責(zé),發(fā)現(xiàn)服務(wù)顽聂,監(jiān)控服務(wù)變更狀態(tài)肥惭、健康檢查。 需要做到的是:總能通...
    消失er閱讀 3,193評(píng)論 0 3
  • 一紊搪、微服務(wù)介紹 1. 什么是微服務(wù) 在介紹微服務(wù)時(shí)蜜葱,首先得先理解什么是微服務(wù),顧名思義耀石,微服務(wù)得從兩個(gè)方面去理解牵囤,...
    阿南的生活記錄閱讀 441評(píng)論 0 3
  • □讀宇宙 先生慢(66) □ 王紅娟 悠悠洪昌先生, 獨(dú)自行在溫嶺滞伟, 伊人獨(dú)往揭鳞? 悠悠教學(xué)夢(mèng),一場(chǎng)夢(mèng)梆奈? ...
    朝花夕拾杯中酒123閱讀 232評(píng)論 0 11