Eureka原始碼之服務註冊

2021-08-21 10:56:18 字數 1390 閱讀 3643

discoveryclient的建構函式中會呼叫initscheduledtasks這個函式,先看看這個函式

private void initscheduledtasks() ", renewalintervalinsecs);

// heartbeat timer

scheduler.schedule(

new timedsupervisortask(

"heartbeat",

scheduler,

heartbeatexecutor,

renewalintervalinsecs,

timeunit.seconds,

expbackoffbound,

new heartbeatthread()

),renewalintervalinsecs, timeunit.seconds);

// instanceinfo replicator

instanceinforeplicator = new instanceinforeplicator(

this,

instanceinfo,

clientconfig.getinstanceinforeplicationintervalseconds(),

2); // burstsize

...instanceinforeplicator.start(clientconfig.getinitialinstanceinforeplicationintervalseconds());

} else

}

從上面這個函式,可以看到服務註冊相關的判斷語句if (clientconfig.shouldregisterwitheureka()).在該分支中,建立了乙個instanceinforeplicator類的例項,它執行了乙個定時任務,而這個定時任務的具體工作可以檢視instanceinforeplicator這個類的run()函式,具體**如下:

註冊操作是通過rest請求的方式進行的。同時我們能看到發起註冊請求的時候,傳入了乙個instanceinfo物件,該物件就是註冊時客戶端給服務端的服務的元資料。

Eureka 原始碼解析

color red b eureka 原始碼解析 應用例項註冊發現 二 之續租 b color url eureka原始碼解析 eureka client 初始化 一 之 eurekainstanceconfig url eureka 原始碼解析 eureka client 初始化 二 之 eure...

Eureka服務註冊中心

1.適用場景有侷限 如果服務提供者的網路位址 ip和埠 發生變化,將會影響服務消費者。2.無法動態伸縮 每個微服務一般都會部署多個例項,從而實現實現容災和負載均衡,微服務系統需要具備自動伸縮的能力。如何解決上述方案 1 需要乙個強大的服務發現機制,服務消費者使用這種機制獲取服務提供者的網路資訊,及時...

Eureka 服務註冊發現

eureka簡述 eureka在微服務中經常使用,用作服務註冊中心,和zookepeer功能相似 eureka server 服務註冊中心 eureka server通過集群方式部署,當有新的服務註冊時,會同步到其他的eureka server cap 一致性 可用性 分割槽容錯性 乙個分布式部署中...