<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          為什么需要注冊中心?是用 Eureka 還是 Nacos?

          共 1954字,需瀏覽 4分鐘

           ·

          2022-02-12 20:05

          上一篇:100多個(gè)免費(fèi)常用API接口分享,調(diào)用完全不限次數(shù),以后總用得著!

          為什么要使用注冊中心

          有使用過ip:port地址直接調(diào)用服務(wù)的開發(fā)經(jīng)歷么?該段痛苦的經(jīng)歷在此處省略500字......,該種方式的缺點(diǎn):

          使用注冊中心能夠?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ù)不被剔除。

          注冊中心

          存儲(chǔ)服務(wù)實(shí)例,定時(shí)掃描注冊表,剔除過期的服務(wù)實(shí)例。通過同步復(fù)制方式實(shí)現(xiàn)高可用,先獲取注冊表,然后再向其他注冊中心注冊自己,屬于AP模式。在實(shí)際項(xiàng)目中,會(huì)根據(jù)環(huán)境,例如dev,test,prod配置不同的注冊中心集群,如果不同的項(xiàng)目使用統(tǒng)一的注冊中心,只能根據(jù)服務(wù)名稱做區(qū)分。

          重點(diǎn)介紹一下Eureka自我保護(hù)機(jī)制。如果出現(xiàn)大量的服務(wù)實(shí)例過期被剔除,則注冊中心進(jìn)入自我保護(hù)模式,注冊表中信息不再被剔除,目的是提高eureka的可用性。默認(rèn)情況下,統(tǒng)計(jì)心跳失敗比例在 15 分鐘之內(nèi)是否低于 85%,如果低于 85%,Eureka Server 會(huì)將這些實(shí)例保護(hù)起來,讓這些實(shí)例不會(huì)過期。

          講述一次慘痛的上線經(jīng)歷,錯(cuò)誤描述如下:

          當(dāng)時(shí)服務(wù)部署成功,在Eureka注冊中心已經(jīng)顯示該服務(wù)已經(jīng)注冊成功,但是,前端請求經(jīng)過網(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)問題到底發(fā)生在哪里,幾經(jīng)折磨,在網(wǎng)關(guān)直接通過ip地址轉(zhuǎn)發(fā)到上線的服務(wù),快速的解決該問題

          后續(xù),復(fù)盤,應(yīng)該Eureka的自我保護(hù)機(jī)制,導(dǎo)致的問題。在注冊中心注冊的服務(wù)是一個(gè)不可用的服務(wù),但是,由于自我保護(hù)機(jī)制,Eureka Server沒有將無效的服務(wù)剔除。

          后續(xù)的解決方法是,設(shè)置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)系列面試題和答案,非常齊全。

          在spring cloud中引入nacos時(shí),參考官網(wǎng)匹配具體的版本,如圖:

          nacos重點(diǎn)需要了解下其領(lǐng)域模型Nacos 數(shù)據(jù)模型 Key 由三元組唯一確定, Namespace命名空間,分組group,service服務(wù)。詳情可以參考官網(wǎng)Nacos 架構(gòu)。

          Nacos與Eureka相比優(yōu)勢如下:

          原文鏈接:https://blog.csdn.net/new_com/article/details/112633748

          相關(guān)閱讀:2T架構(gòu)師學(xué)習(xí)資料干貨分享


          1、2T架構(gòu)師學(xué)習(xí)資料干貨分享

          2、985副教授工資曝光

          3、心態(tài)崩了!稅前2萬4,到手1萬4,年終獎(jiǎng)扣稅方式1月1日起施行~

          4、雷軍做程序員時(shí)寫的博客,很強(qiáng)大!

          5、人臉識別的時(shí)候,一定要穿上衣服啊!

          6、清華大學(xué):2021 元宇宙研究報(bào)告!

          7、績效被打3.25B,員工將支付寶告上了法院,判了

          瀏覽 31
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美超逼视频 | www.毛片av | 久久无码人妻 | 操逼十八禁| 91人妻无码一区二区三区 |