1 微服務治理機制
1.1 服務註冊
在服務治理框架中通常會構建一個註冊中心,每個單元向註冊中心登記自己提供的服務,將主機與端口號、版本號、通信協議等一些附加信息告知註冊中心,註冊中心按服務名分類組織服務清單。
1.2服務發現
在服務治理框架的運作下,服務間的調用不再是通過指定具體地址來實現,而是通過向服務名發起請求調用實現。所以,服務調用放在調用服務提供方接口的時候,並不知道具體的服務實例位置。因此,調用方需要需要向服務註冊中心諮詢,並獲取所有服務的實例清單,以實現對具體服務實例的訪問。
而實際考慮到性能因素,不會採用每次都向服務註冊中心獲取服務的方式,並且不同的應用場景在緩存和服務剔除等機制上也會有一些不同的實現策略。
2 Netflix Eureka組件
2.1 Euraka 服務端
我們也稱爲註冊中心,支持高可用配置,依託於強一致性,提供良好的實例可用性。運行分片故障期間繼續提供服務的發現和註冊,當故障分片恢復運行時,集羣中的其他分片會把他們的狀態再次同步回來。
2.2 Euraka 客戶端
主要處理服務的註冊和發現。
3 Eureka 服務治理基礎架構的三個核心要素
3.1 服務註冊中心
Eureka 提供的服務端,提供服務的註冊和發現功能(Eureka-server)。
3.2 服務提供者
提供服務的應用,可以是springBoot 應用,也可以是其他技術平臺遵循Eureka通信機制的應用,他將自己提供的服務註冊到Eureka,以供其他應用發現。
3.3 服務消費者
消費者應該從服務註冊中心獲取服務列表,從而是消費者可以知道從何處調用其所需要的服務。
通常客戶端即是服務提供者,也是服務的消費者。