bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

SpringCloud組件中Eureka的原理是什么

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

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

1. Eureka服務治理原理分析

    1. 關于服務注冊:

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

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

    2. 關于服務發現(或者說服務同步):

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

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

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

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

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

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

    3. 關于服務續約:

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

    服務續約有兩個重要配置屬性,可以依據項目需要進行調整

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

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

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

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

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

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

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

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

    4. 服務下線:在整個系統運行過程中,某個服務可能會由于各種各樣的原因導致宕機下線,此時對于那些服務調用者來說,肯定是不能去調用這些服務的,所以服務中心就必須對這些下線的服務進行剔除。

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

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

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

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

當前標題:SpringCloud組件中Eureka的原理是什么
本文URL:http://vcdvsql.cn/article16/gjoodg.html

成都網站建設公司_創新互聯,為您提供網站內鏈響應式網站網站策劃網站建設云服務器域名注冊

廣告

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

外貿網站制作