Eureka(服務發現框架)

Eureka是Netflix開發的服務發現框架,本身是一個基於REST的服務,主要用於定位運行在AWS域中的中間層服務,以達到負載均衡和中間層服務故障轉移的目的。SpringCloud將它集成在其子項目spring-cloud-netflix中,以實現SpringCloud的服務發現功能。

Eureka包含兩個組件:Eureka Server和Eureka Client。
Eureka Server提供服務註冊服務,各個節點啟動後,會在Eureka Server中進行註冊,這樣EurekaServer中的服務註冊表中將會存儲所有可用服務節點的信息,服務節點的信息可以在界面中直觀的看到。
Eureka Client是一個java客戶端,用於簡化與Eureka Server的互動,客戶端同時也就是一個內置的、使用輪詢(round-robin)負載算法的負載均衡器。
在套用啟動後,將會向Eureka Server傳送心跳,默認周期為30秒,如果Eureka Server在多個心跳周期內沒有接收到某個節點的心跳,Eureka Server將會從服務註冊表中把這個服務節點移除(默認90秒)。
Eureka Server之間通過複製的方式完成數據的同步,Eureka還提供了客戶端快取機制,即使所有的Eureka Server都掛掉,客戶端依然可以利用快取中的信息消費其他服務的API。綜上,Eureka通過心跳檢查、客戶端快取等機制,確保了系統的高可用性、靈活性和可伸縮性。

相關詞條

熱門詞條

聯絡我們