




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第JavaEureka探究細枝末節(jié)目錄1、Eureka元數據詳解2、Eureka客戶端詳解3、Eureka服務端詳解
1、Eureka元數據詳解
Eureka的元數據有兩種:標準元數據和自定義元數據。
標準元數據:主機名、IP地址、端口號等信息,這些信息都會被發(fā)布在服務注冊表中,用于服務之間的調用。
自定義元數據:可以使用eureka.instance.metadata-map配置,符合KEY/VALUE的存儲格式。這些元數據可以在遠程客戶端中訪問。
類似于
eureka:
instance:
prefer-ip-address:true
metadata-map:
cluster:cl1
region:rn1
我們可以在程序中可以使用DiscoveryClient獲取指定微服務的所有元數據信息
import.AutoDeliverApplication;
importorg.junit.Test;
importorg.junit.runner.RunWith;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.boot.test.context.SpringBootTest;
importorg.springframework.cloud.client.ServiceInstance;
importorg.springframework.cloud.client.discovery.DiscoveryClient;
importorg.springframework.test.context.junit4.SpringJUnit4ClassRunner;
importjava.util.List;
@SpringBootTest(classes={AutoDeliverApplication.class})
@RunWith(SpringJUnit4ClassRunner.class)
publicclassAutoDeliverApplicationTest{
@Autowired
privateDiscoveryClientdiscoveryClient;
@Test
publicvoidtestInstanceMetadata(){
//從EurekaServer獲取指定微服務實例
ListServiceInstanceinstances=discoveryClient.getInstances("lagou-service-resume");
//循環(huán)打印每個微服務實例的元數據信息
for(inti=0;iinstances.size();i++){
ServiceInstanceserviceInstance=instances.get(i);
System.out.println(serviceInstance);
}
元數據查看如下
2、Eureka客戶端詳解
服務提供者(也是Eureka客戶端)要向EurekaServer注冊服務,并完成服務續(xù)約等工作
服務注冊詳解(服務提供者)
當我們導入了eureka-client依賴坐標,配置Eureka服務注冊中心地址服務在啟動時會向注冊中心發(fā)起注冊請求,攜帶服務元數據信息Eureka注冊中心會把服務的信息保存在Map中
服務續(xù)約詳解(服務提供者)
服務每隔30秒會向注冊中心續(xù)約(心跳)一次(也稱為報活),如果沒有續(xù)約,租約在90秒后到期,然后服務會被失效。每隔30秒的續(xù)約操作我們稱之為心跳檢測。
往往不需要我們調整這兩個配置
eureka:
instance:
lease-renewal-interval-in-seconds:30
lease-expiration-duration-in-seconds:90
獲取服務列表詳解(服務消費者)
每隔30秒服務會從注冊中心中拉取一份服務列表,這個時間可以通過配置修改。往往不需要我們調整。
eureka:
client:#每隔多久拉取一次服務列表
registry-fetch-interval-seconds:30
服務消費者啟動時,從EurekaServer服務列表獲取只讀備份,緩存到本地每隔30秒,會重新獲取并更新數據每隔30秒的時間可以通過配置eureka.client.registry-fetch-interval-seconds修改
3、Eureka服務端詳解
服務下線
當服務正常關閉操作時,會發(fā)送服務下線的REST請求給EurekaServer。服務中心接受到請求后,將該服務置為下線狀態(tài)
失效剔除
EurekaServer會定時(間隔值是eureka.server.eviction-interval-timer-in-ms,默認60s)進行檢查,如果發(fā)現實例在在一定時間(此值由客戶端設置的eureka.instance.lease-expiration-duration-in-seconds定義,默認值為90s)內沒有收到心跳,則會注銷此實例。
自我保護
服務提供者注冊中心
定期的續(xù)約(服務提供者和注冊中心通信),假如服務提供者和注冊中心之間的網絡有點問題,不代表服務提供者不可用,不代表服務消費者無法訪問服務提供者。如果在15分鐘內超過85%的客戶端節(jié)點都沒有正常的心跳,那么Eureka就認為客戶端與注冊中心出現了網絡故障,EurekaServer自動進入自我保護機制。
為什么會有自我保護機制?
默認情況下,如果EurekaServer在一定時間內(默認90秒)沒有接收到某個微服務實例的心跳,EurekaServer將會移除該實例。但是當網絡分區(qū)故障發(fā)?時,微服務與EurekaServer之間?法正常通信,而微服務本身是正常運行的,此時不應該移除這個微服務,所以引入了自我保護機制。
服務中心頁面會顯示如下提示信息
當處于自我保護模式時
不會剔除任何服務實例(可能是服務提供者和EurekaServer之間網絡問題),保證了大多數服務依然可用EurekaServer仍然能夠接受新服務的注冊和查詢請求,但是不會被同步到其它節(jié)點上,保證當前節(jié)點依然可用,當網絡穩(wěn)定時,當前EurekaServer新的注冊信息會被同步到其它節(jié)點中。在EurekaServer
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 解析卷人教版八年級上冊物理物態(tài)變化《溫度》專項攻克練習題(含答案詳解)
- 基于納米復合材料的溫度-壓力雙模態(tài)解耦柔性傳感器研究
- 2025國考包頭市檢驗檢疫崗位行測模擬題及答案
- 土石方工程現場安全管理措施
- 2025國考大興安嶺機關黨委崗位申論預測卷及答案
- 2025國考上海統(tǒng)計局申論對策建議預測卷及答案
- 考點解析人教版八年級上冊物理聲現象《噪聲的危害和控制》專項訓練試卷(附答案詳解)
- 智慧農業(yè)示范區(qū)建設項目施工方案
- 考點解析人教版八年級上冊物理聲現象《聲音的產生與傳播》定向攻克試卷(解析版含答案)
- 多多買菜的全鏈管理優(yōu)化研究
- 2025年大學生就業(yè)指導課程試題庫(附含答案)
- 山西建設工程施工合同(標準版)
- 2025重慶千信外經貿集團有限公司數字貿易部副部長招聘1人筆試歷年參考題庫附帶答案詳解
- 河南天一大聯考2025-2026學年(上)高一上學期9月檢測語文試卷
- 養(yǎng)好小金魚教學課件
- 病歷信息安全培訓課件
- 病理標本固定課件
- 抖音本地推介紹
- 第2課《中國人首次進入自己的空間站》教學設計-統(tǒng)編版語文八年級上冊
- 2025年中國硅灰石超細粉市場調查研究報告
- 商業(yè)級無人機租賃合同及服務指南
評論
0/150
提交評論