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