日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Spring Cloud Eureka 詳解

 

Eureka 是Spring Cloud Netflix 微服務(wù)套件中的一部分,它基于Netflix Eureka做了二次開發(fā),主要負(fù)責(zé)完成微服務(wù)架構(gòu)中的服務(wù)治理功能。

Eureka 基礎(chǔ)架構(gòu)三個核心要素

1:服務(wù)注冊中心

2:服務(wù)提供者

3:服務(wù)消費者

 服務(wù)治理主要分為:

1:服務(wù)注冊:

在服務(wù)治理框架中,通常都會構(gòu)建一個服務(wù)注冊中心,每個服務(wù)提供者需要向注冊中心,登記自己的注冊信息。比如IP,端口號,版本號,服務(wù)名,通信協(xié)議等等附加信息告知注冊中心,注冊中心會根據(jù)服務(wù)名,進(jìn)行分類服務(wù)清單。例如下圖:

Spring Cloud Eureka 詳解

 

eureka維護(hù)分類服務(wù)清單,是通過一個雙層Map, 第一層Map的key就是服務(wù)名,例如上圖的HELLO-SERVICE,第二層的Key就是具體的實例信息,例如上圖的DLBOOH........:hello-service:8081

2:服務(wù)發(fā)現(xiàn)

由于在服務(wù)治理框架下運作程序,服務(wù)間的調(diào)用不在是通過指定具體的實例地址來實現(xiàn),服務(wù)間的調(diào)用通過服務(wù)名來調(diào)用,例如:http://hello-service:8081/hello。所以當(dāng)服務(wù)調(diào)用方 想要調(diào)用服務(wù)提供方的接口時,服務(wù)調(diào)用方是不知道服務(wù)提供方的具體實例地址的, 因此調(diào)用方需要向注冊中心Eureka咨詢服務(wù),并獲取所有服務(wù)的實例清單。例如:現(xiàn)有服務(wù)B想要調(diào)用服務(wù)A,服務(wù)B就需要向注冊中心發(fā)起請求獲取服務(wù)A的實例清單,注冊中心返回服務(wù)A的實例清單,然后服務(wù)B會從清單中以某種策略輪詢訪問清單中的的實例,實現(xiàn)負(fù)載均衡的效果 訪問方式可以通過 Ribbon。

實際生產(chǎn)項目中,不會在每一次請求中都獲取服務(wù)列表清單,這樣做效率低下。實際場景中緩存和服務(wù)剔除等機制也會有一些不同的實現(xiàn)方式

3:服務(wù)同步

當(dāng)Eureka實現(xiàn)高可用后,服務(wù)提供者可分別注冊到集群中的不同服務(wù)注冊中心上,也就是說 它們的信息分別被不同的注冊中心維護(hù),此時由于服務(wù)中心互相注冊為服務(wù)(高可用),當(dāng)服務(wù)提供者發(fā)送注冊請求到一個服務(wù)注冊中心時,它會將該請求轉(zhuǎn)發(fā)同步給集群中的其他注冊中心,從而實現(xiàn)服務(wù)注冊中心的服務(wù)同步。通過服務(wù)同步,兩個服務(wù)提供者的服務(wù)信息就可以通過這兩臺服務(wù)注冊中心中的任意一臺獲取到

4:服務(wù)續(xù)約

在注冊完服務(wù)之后,服務(wù)提供者會維護(hù)一個心跳用來持續(xù)告訴Eureka“我還活著”,以防止Eureka的剔除服務(wù)將該服務(wù)從列表清單中排除出去,我們稱該操作為服務(wù)續(xù)約

關(guān)于服務(wù)續(xù)約有兩個重要的屬性,

##用于定義服務(wù)續(xù)約任務(wù)的調(diào)用間隔時間,默認(rèn)為30秒

eureka.instance.lease-renewal-interval-in-seconds=30

##參數(shù)用于定義服務(wù)失效的時間,默認(rèn)為90秒

eureka.instance.lease-expiration-duration-in-seconds=90

5:獲取服務(wù)

當(dāng)服務(wù)消費者程序啟動時,它會發(fā)送一個Rest請求給注冊中心,來獲取上面注冊的服務(wù)清單,為了性能考慮,Eureka會維護(hù)一份只讀的服務(wù)清單來返回給客戶端,同時該緩存清單會每隔30秒更新一次。

獲取服務(wù)是服務(wù)消費者的基礎(chǔ),所以必須確保eureka.client.fetch-registry=true 默認(rèn)為true,若希望修改緩存清單的更新時間,可以通過eureka.client.registry-fetch-interval-seconds=30 進(jìn)行修改,默認(rèn)30秒,參數(shù)單位秒

6:服務(wù)調(diào)用

獲取服務(wù)清單后,通過服務(wù)名可以獲取實例的名和實例的元數(shù)據(jù)(ip,port等等)利用Ribbon實現(xiàn)輪詢方式調(diào)用服務(wù)提供方。

7: 服務(wù)下線

當(dāng)服務(wù)下線后,正常情況下 我們是不希望,服務(wù)消費方繼續(xù)調(diào)用已經(jīng)下線的服務(wù)的,所以再服務(wù)提供方正常關(guān)閉時,會觸發(fā)一個服務(wù)下線的REST請求,告訴Eureka “我要下線了”。Eureka收到請求后,會將此服務(wù)設(shè)置為(DOWN),并將此消息廣播到出去,更新緩存清單。

8:服務(wù)中心的失效剔除

當(dāng)服務(wù)非正常關(guān)閉時,比如機器Down了,斷電,內(nèi)存溢出,網(wǎng)絡(luò)故障等等。這時候是不會觸發(fā)服務(wù)下線的REST的請求,為了將這些已經(jīng)無法提供的服務(wù)剔除,Eureka Server會在啟動時,創(chuàng)建一個定時任務(wù),默認(rèn)每隔60秒將清單中超時沒有續(xù)約的剔除。

分享到:
標(biāo)簽:Spring Cloud Eureka
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達(dá)人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定