為什么需要注冊中心?是用 Eureka 還是 Nacos?
為什么要使用注冊中心
有使用過ip:port地址直接調(diào)用服務(wù)的開發(fā)經(jīng)歷么?該段痛苦的經(jīng)歷在此處省略500字......,該種方式的缺點(diǎn):
需要手動(dòng)的維護(hù)所有的服務(wù)訪問ip地址列表。 單個(gè)服務(wù)實(shí)現(xiàn)負(fù)載均衡需要自己搭建,例如使用nginx負(fù)載均衡策略,或者基于容器化多實(shí)例部署單個(gè)服務(wù),在實(shí)例之間做負(fù)載均衡。
使用注冊中心能夠?qū)崿F(xiàn)服務(wù)治理,服務(wù)動(dòng)態(tài)擴(kuò)容,以及服務(wù)調(diào)用的負(fù)載均衡,完整調(diào)用鏈路示例如下:

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

服務(wù)提供者
主動(dòng)向注冊中心注冊,續(xù)約,下線,獲取注冊表。服務(wù)注冊成功后,定時(shí)向注冊中心發(fā)送心跳,保證服務(wù)不被剔除。
注冊中心
講述一次慘痛的上線經(jīng)歷,錯(cuò)誤描述如下:
enableSelfPreservation=false關(guān)閉自我保護(hù)機(jī)制,把renewalPercentThreshold 比例降低,在Eureka Server端,如果出現(xiàn)無效的服務(wù)就會(huì)將該服務(wù)剔除。nacos注冊中心
nacos是springcloud的擴(kuò)展,注冊中心功能通過NacosDiscoveryClient 繼承DiscoveryClient,在springcloud中,與Eureka可以無侵入的切換。注冊中心可以手動(dòng)剔除服務(wù)實(shí)例,通過消息通知客戶端更新緩存的實(shí)例信息,完整調(diào)用鏈路示例如下:另外,關(guān)注互聯(lián)網(wǎng)架構(gòu)師,在后臺(tái)回復(fù):2T,可以獲取我整理的 架構(gòu)系列面試題和答案,非常齊全。


Nacos與Eureka相比優(yōu)勢如下:
nacos在自動(dòng)或手動(dòng)下線服務(wù),使用消息機(jī)制通知客戶端,服務(wù)實(shí)例的修改很快響應(yīng);Eureka只能通過任務(wù)定時(shí)剔除無效的服務(wù)。 nacos可以根據(jù)namespace命名空間,DataId,Group分組,來區(qū)分不同環(huán)境(dev,test,prod),不同項(xiàng)目的配置。
原文鏈接:https://blog.csdn.net/new_com/article/details/112633748
相關(guān)閱讀:2T架構(gòu)師學(xué)習(xí)資料干貨分享
3、心態(tài)崩了!稅前2萬4,到手1萬4,年終獎(jiǎng)扣稅方式1月1日起施行~
4、雷軍做程序員時(shí)寫的博客,很強(qiáng)大!
