天天看點

高頻面試題—聊一下Euraka的注冊原理

如何判斷一個人對Euraka的使用程度,那就需要去問他對其執行原理是否清楚,當然這也不能完全檢測出來他的熟練程度,但是最起碼會有一個基本的了解。

那麼Euraka的執行流程又是什麼,我們都知道Euraka的最重要的功能就是服務注冊,那麼問題就來了,Euraka的服務注冊流程,或者說原理是什麼呢?來解釋下。

Euraka的服務注冊流程共有以下幾個重點知識,服務注冊、服務續約、服務剔除、服務下線、擷取注冊資訊等多個關鍵詞。

Euraka注冊流程

先大概的說一下其注冊流程。

  1. 首先在應用啟動時,系統會讀取Euraka的相關配置,進而加載Euraka所配置的相關資訊,以保證後續注冊使用。
  2. 接着去加載自身配置資訊,并且封裝成Euraka用戶端執行個體,并且将此執行個體發送給Euraka服務端。
  3. 然後擷取Euraka服務端的注冊資訊,緩存至本地服務中。
  4. 最後将自身執行個體注冊到Euraka注冊中心内。
  5. 從上一步結束其實就已經是Euraka的注冊流程了,但是成功注冊之後,還會存在一個續約的情況,因為用戶端和服務端需要頻繁去獲知對方是否可用;這裡就牽扯到Euraka的服務續約功能了。
  6. Euraka用戶端還會定時的擷取Euraka注冊中心的注冊資訊,以保證本地注冊資訊與服務端一緻度;這裡就是擷取注冊資訊功能了。
  7. 當Euraka用戶端需要銷毀目前執行個體時,需要執行内部代碼塊方可在Euraka注冊中心内進行消除;這裡說的就是服務下線功能。
  8. 在發生狀況下,當服務提供方連續一段時間(這個時間預設是90s,但是可以自行設定)沒有向注冊中心進行續約操作時,注冊中心會将該服務從服務注冊清單中剔除;這裡就是服務剔除功能。

到此為止,Euraka的注冊流程大概就說完了,接下來我們來解釋一下目前提到的幾個關鍵詞吧。

關鍵詞分析

服務注冊

Euraka用戶端向Euraka注冊中心提供ip、port等一系列基礎資訊,以注冊至注冊中心。

服務續約

Euraka提供了一個心跳監測的功能,Euraka用戶端通過定期的心跳時間,與注冊中心進行一個續約操作,這個時間預設為30s,Euraka也提供了相關的配置項來供開發者配置。

服務剔除

若超過90s時間沒有進行續約操作,則注冊中心不會再儲存Euraka用戶端的相關資訊,會進行一個剔除操作。時間預設為90s,Euraka也提供了相關的配置項來供開發者配置。

服務下線

Euraka用戶端在程式關閉時向注冊中心發起服務下線操作,注冊中心接到通知,會将其所有資訊删除,但是這個服務下線操作需要開發者自行編寫代碼進行調用。

擷取注冊資訊

擷取注冊資訊就比較好了解了,Euraka各執行個體都會在需要的時候想注冊中心發起請求,注冊中心也會回報給執行個體目前所有的注冊資訊。

繼續閱讀