服務發現 你是我的眼

2021-10-06 14:54:04 字數 1882 閱讀 4369

論挨揍的效率

小結在eureka的圈子混,做什麼都要仰仗著註冊中心,前面我們說到註冊中心的一大作用就是收集所有節點的註冊資訊,那麼大家思考乙個問題,註冊中心收集這麼多服務節點的資訊做什麼用呢?難道三天兩頭主動去找人家麻煩?nonono,服務發現的故事還要從一部電影說起

大家想必都看過《黑客帝國》三部曲。影片的主角是乙個年輕的黑客尼奧,他發現了整個現實世界是由乙個名為「矩陣」的計算機人工智慧系統控制的,在這個黑暗的世界中有乙個大反派「史密斯」,尼奧見到了黑客組織的首領墨菲斯,在墨菲斯的帶領下找到史密斯,走上了抗爭的一生。

在這個故事里尼奧,墨菲斯,史密斯三人都有乙個共同的特徵,那就是戴著墨鏡。但是不同的地方是,只有尼奧是真的瞎了。。。瞎子尼奧啥也看不見,要想靠自己去找到大反派史密斯那簡直就是不可能完成的任務,他必須借助墨菲斯這位黑客組織大頭目的幫助,才能完成找到史密斯的任務。eureka裡的服務發現也是這麼個道理:

話說條條大路通羅馬,雖然現在知道了怎麼去找史密斯,但是誰去找史密斯卻成了個問題。

eureka的服務發現也得做這麼乙個抉擇,是讓尼奧自己去找呢?還是讓大哥墨菲斯或者找乙個中間人來做這件事?

在這個服務發現模型中,只有三個角色(尼奧,墨菲斯,史密斯),這時瞎子尼奧依然是乙個勤快的小伙,他打算自己去送人頭。

史密斯集群(網路服務節點)通過服務註冊功能,將自己的服務資訊以及ip位址發給了註冊中心,呼叫方尼奧則從註冊中心獲取所有的可用服務列表,然後從中挑選乙個史密斯例項,自己上門找打。看到這裡有的同學可能會問,尼奧手裡有這麼多史密斯,他怎麼知道該找哪個?這就要說到「負載均衡」這個聽起來很高大上的名詞,這個知識點將在其他章節專欄ribbon課程中深入了解。這裡你可以把呼叫方看成乙個內建了負載均衡策略的服務發起者,他會選擇乙個合適的節點進行服務呼叫。

前面尼奧自己總是自己上門找揍,被打的那叫乙個鼻青臉腫,所以他乾脆想了乙個辦法,只發號施令,找打的事兒得換個人來。

這個模式下多了乙個router的概念,註冊中心依然獲取了所有的節點資訊。每當尼奧想要教訓一下史密斯的時候,他會傳送乙個指令給乙個服務端的**router,這個router既可以是服務端負載均衡器,也可以是閘道器層,而負載均衡策略則從發起呼叫的消費者一端,移到了服務端。總之,我尼奧不再自己送人頭了。

客戶端模式

服務端模式

效能快網路**量少,客戶端直接參與負載均衡

慢網路**請求量大,服務端承載負載均衡

負載均衡策略

尼奧 do care

尼奧 doesn』t care

運維成本

低 沒有額外網路元件,互動模型簡單

高 需要借助額外元件實現router+負載均衡

應用eureka定時拉取dubbo訂閱模式

k8s**,aws elbconsul template + nginx

從上面的比較可以看出,客戶端模式似乎是更加輕量且效率的做法,但是對於客戶端來說,就要承載額外的負載均衡處理。但是顯而易見的是,負載均衡無論是在客戶端或者服務端,總歸得是有的(大型網際網路應用通常是客戶端+閘道器層都會部署負載均衡),所以如果採用客戶端負載均衡模式的話,對springcloud來說則是省了乙個部署元件,這又說明了springcloud一切從簡的原則。

在本章節中,我們對服務發現的模式做了**,了解了基於客戶端以及基於服務端的服務發現,並對兩種模式做了簡單的對比。

你是我的眼啊

您好!這首 你是我的眼 是盲人歌手蕭煌奇 原唱的,你是我的眼 是他自己創作的歌曲,他原是民歌餐廳的主唱,出道後一直不紅,後來yoga唱紅了這首歌,蕭煌奇就漸漸受人關注了,上屆金曲歌王就是他。這是很久的一首歌了。給您奉上這首歌的歌詞吧 你是我的眼 作詞 蕭煌奇 作曲 蕭煌奇 如果我能看得見 就能輕易的...

樹莓派 你是我的眼

首先準備好樹莓派,上面已經安裝了官方的raspbian系統。把攝像頭的排線插入樹莓派上的 camera 插口。注意在插入之前,要用兩指捏起插口的蓋子。排線放入後,蓋子要重新按回去 攝像頭安裝 樹莓派開機後,首先更新raspbian系統的軟體源並公升級 sudo apt get update sudo...

樹莓派 你是我的眼

首先準備好樹莓派,上面已經安裝了官方的raspbian系統。把攝像頭的排線插入樹莓派上的 camera 插口。注意在插入之前,要用兩指捏起插口的蓋子。排線放入後,蓋子要重新按回去 攝像頭安裝 樹莓派開機後,首先更新raspbian系統的軟體源並公升級 sudo apt get update sudo...