欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

SpringCloud組件中Eureka的原理是什么

SpringCloud組件中Eureka的原理是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)服務(wù)項目包括牡丹網(wǎng)站建設(shè)、牡丹網(wǎng)站制作、牡丹網(wǎng)頁制作以及牡丹網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,牡丹網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到牡丹省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

1. Eureka服務(wù)治理原理分析

    1. 關(guān)于服務(wù)注冊:

(1)前面說過,服務(wù)注冊中心會維護一個服務(wù)清單表,該清單表中存儲了所有的服務(wù)名以及該服務(wù)名對應(yīng)的所有服務(wù)實例信息(比如IP地址、端口號等),很快可以想到服務(wù)清單應(yīng)該是一個Map結(jié)構(gòu)。

(2)然后,服務(wù)提供者會通過Eureka客戶端與服務(wù)中心(即Eureka服務(wù)端)進行服務(wù)注冊,這個過程實際上就是將自己的服務(wù)名、IP地址、端口號等信息發(fā)送到服務(wù)注冊中心進行保存。

    2. 關(guān)于服務(wù)發(fā)現(xiàn)(或者說服務(wù)同步):

(1)服務(wù)注冊中心與服務(wù)提供方:

    服務(wù)提供方注冊到服務(wù)注冊中心后,會與服務(wù)中心始終保持一個服務(wù)清單同步,即通過Eureka客戶端,獲取到Eureka服務(wù)端中的所有服務(wù)清單數(shù)據(jù),這個主要通過配置的注冊中心地址來實現(xiàn)

eureka.client.serviceUrl.defaultZone=http://localhost:8081/eureka/

所以在單機服務(wù)注冊中心的情況下,一旦服務(wù)注冊中心掛了,就無法保證服務(wù)發(fā)現(xiàn)的準確性,但依舊能做的服務(wù)發(fā)現(xiàn)的,因為服務(wù)清單數(shù)據(jù)會緩存一份到服務(wù)提供方本地,即使服務(wù)注冊中心掛了,依舊能通過這份緩存數(shù)據(jù)來進行服務(wù)發(fā)現(xiàn)以及調(diào)用,但是準確性就不能保證了,有可能某個服務(wù)已經(jīng)下線或者上線了一個新的服務(wù)實例,都是無法感知到的

    或者說,是Eureka服務(wù)端將服務(wù)清單數(shù)據(jù)同步到各個Eureka客戶端中,這樣就會保證某個服務(wù)下線或上線能夠及時的被其他服務(wù)感知到,就能保證服務(wù)發(fā)現(xiàn),但問題是Eureka的這種服務(wù)清單數(shù)據(jù)同步方式會導(dǎo)致數(shù)據(jù)一致性比較差。

(2)Eureka服務(wù)注冊中心集群:Eureka的集群模式說白了,就是將服務(wù)注冊中心本身也看做一個服務(wù),集群中的服務(wù)注冊中心節(jié)點之間互相注冊,就能夠同步節(jié)點之間的服務(wù)清單,保證高可用性,即使某個服務(wù)注冊中心節(jié)點掛了,其余服務(wù)注冊中心節(jié)點也能進行服務(wù)治理。

    3. 關(guān)于服務(wù)續(xù)約:

    服務(wù)注冊后,服務(wù)提供方還必須要時時向服務(wù)注冊中心進行一次“心跳”請求,該請求用來告訴服務(wù)注冊中心自己還“活著”,防止Eureka對該服務(wù)執(zhí)行服務(wù)剔除,將該服務(wù)從服務(wù)列表中排除。這就是服務(wù)續(xù)約操作。

    服務(wù)續(xù)約有兩個重要配置屬性,可以依據(jù)項目需要進行調(diào)整

eureka.instance.lease-expiration-duration-in-seconds=90
eureka.instance.lease-renewal-interval-in-seconds=30

eureka.instance.lease-expiration-duration-in-seconds,該參數(shù)表示設(shè)置判斷服務(wù)失效的時間,單位為秒,默認90秒

eureka.instance.lease-renewal-interval-in-seconds參數(shù)表示設(shè)置服務(wù)續(xù)約任務(wù)的調(diào)用間隔時間,也就是多久進行一次服務(wù)續(xù)約請求,單位為秒,默認30秒

這兩個參數(shù)配置其實需要注意一下,因為假如注冊的服務(wù)非常多,達到數(shù)百個,而且每個服務(wù)都部署了上百個實例,那么可以算算每天僅僅是服務(wù)治理所進行的日請求次數(shù)就能達到上千萬次。以一個例子來進行簡單的計算,

  • 以默認參數(shù)來說,100個服務(wù)部署在20個服務(wù)器上,那么就相當(dāng)于一共有2000個服務(wù)實例。

  • 每個服務(wù)實例每分鐘請求2次拉取注冊表,每分鐘請求2次發(fā)送心跳,也就是每分鐘4次請求服務(wù)注冊中心,2000個服務(wù)實例服務(wù)注冊中心每分鐘會有8000次請求。每秒大概估算為150次左右

  • 那么一天就會對服務(wù)注冊中心進行8000*24*60=1152萬次請求,也就是每天千萬級請求量。

所以這兩個配置參數(shù)也是需要進行適當(dāng)調(diào)整的。至于為什么服務(wù)注冊中心能夠承受千萬級日請求量,后面分析源碼在詳細介紹。

    4. 服務(wù)下線:在整個系統(tǒng)運行過程中,某個服務(wù)可能會由于各種各樣的原因?qū)е洛礄C下線,此時對于那些服務(wù)調(diào)用者來說,肯定是不能去調(diào)用這些服務(wù)的,所以服務(wù)中心就必須對這些下線的服務(wù)進行剔除。

    5. 對于服務(wù)消費者:服務(wù)消費者實際上通常也是一個服務(wù),服務(wù)消費者和服務(wù)提供者一樣,需要通過Eureka客戶端來獲取服務(wù)注冊中心的可用服務(wù)清單,然后才能依據(jù)清單進行服務(wù)調(diào)用,具體的調(diào)用以及配置在后面結(jié)合Ribbon和Feign進行講解。服務(wù)消費者主要需要配置兩個參數(shù)

  • eureka.client.registry-fetch-interval-seconds=30:該參數(shù)表示從服務(wù)注冊中心更新服務(wù)清單的時間間隔,單位是秒,默認為每30秒獲取一次。

  • eureka.client.fetch-registry=true:該參數(shù)表是否獲取服務(wù)清單,該參數(shù)必須為true,也默認為true

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

當(dāng)前標題:SpringCloud組件中Eureka的原理是什么
本文URL:http://www.chinadenli.net/article16/gjoodg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈響應(yīng)式網(wǎng)站網(wǎng)站策劃網(wǎng)站建設(shè)云服務(wù)器域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作