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 一致性 可用性 分割槽容錯性 乙個分布式部署中...