為什么要使用注冊(cè)中心?是eureka還是nacos?
閱讀本文大概需要 2.8 分鐘。
來(lái)自:blog.csdn.net/new_com/article/details/112633748

為什么要使用注冊(cè)中心
需要手動(dòng)的維護(hù)所有的服務(wù)訪問(wèn)ip地址列表。 單個(gè)服務(wù)實(shí)現(xiàn)負(fù)載均衡需要自己搭建,例如使用nginx負(fù)載均衡策略,或者基于容器化多實(shí)例部署單個(gè)服務(wù),在實(shí)例之間做負(fù)載均衡。

服務(wù)提供者?:向注冊(cè)中心根據(jù)服務(wù)名稱提供服務(wù)訪問(wèn)的ip:port以及其他信息。 注冊(cè)中心?:根據(jù)服務(wù)名稱,存儲(chǔ)對(duì)應(yīng)的ip:port以及其他信息。 服務(wù)消費(fèi)者?:根據(jù)服務(wù)名向注冊(cè)中心獲取調(diào)用服務(wù)的ip:port以及其他相關(guān)的信息集合,然后根據(jù)負(fù)載均衡策略獲取最終的服務(wù)器ip:port訪問(wèn)地址。
使用springcloud時(shí),常用的是eureka和nacos作為注冊(cè)中心,如何選擇呢?
Eureka注冊(cè)中心

當(dāng)時(shí)服務(wù)部署成功,在Eureka注冊(cè)中心已經(jīng)顯示該服務(wù)已經(jīng)注冊(cè)成功,但是,前端請(qǐng)求經(jīng)過(guò)網(wǎng)關(guān)再轉(zhuǎn)發(fā)到該服務(wù)時(shí),一直就沒有反應(yīng),服務(wù)調(diào)用一直不成功。nginx轉(zhuǎn)發(fā),網(wǎng)關(guān)轉(zhuǎn)發(fā)都在確認(rèn)問(wèn)題到底發(fā)生在哪里,幾經(jīng)折磨,在網(wǎng)關(guān)直接通過(guò)ip地址轉(zhuǎn)發(fā)到上線的服務(wù),快速的解決該問(wèn)題。后續(xù),復(fù)盤,應(yīng)該Eureka的自我保護(hù)機(jī)制,導(dǎo)致的問(wèn)題。在注冊(cè)中心注冊(cè)的服務(wù)是一個(gè)不可用的服務(wù),但是,由于自我保護(hù)機(jī)制,Eureka Server沒有將無(wú)效的服務(wù)剔除。
enableSelfPreservation=false關(guān)閉自我保護(hù)機(jī)制,把renewalPercentThreshold 比例降低,在Eureka Server端,如果出現(xiàn)無(wú)效的服務(wù)就會(huì)將該服務(wù)剔除。nacos注冊(cè)中心


nacos在自動(dòng)或手動(dòng)下線服務(wù),使用消息機(jī)制通知客戶端,服務(wù)實(shí)例的修改很快響應(yīng);Eureka只能通過(guò)任務(wù)定時(shí)剔除無(wú)效的服務(wù)。 nacos可以根據(jù)namespace命名空間,DataId,Group分組,來(lái)區(qū)分不同環(huán)境(dev,test,prod),不同項(xiàng)目的配置。
推薦閱讀:
如何使用filter過(guò)濾器對(duì)入?yún)⑦M(jìn)行處理(完整版)
最近面試BAT,整理一份面試資料《Java面試BATJ通關(guān)手冊(cè)》,覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫(kù)、數(shù)據(jù)結(jié)構(gòu)等等。
朕已閱?
評(píng)論
圖片
表情

