1. 程式人生 > >Spring Cloud Eureka 1(eureka簡介)

Spring Cloud Eureka 1(eureka簡介)

運行 清單 服務調用 單元 通過 進程 其中 服務中心 進行

Spring Cloud Eureka 是 Spring Cloud Netflix微服務套件中的一部分,基於netflix eureka做了二次封裝,主要負責完成微服務架構中的服務治理功能。

服務治理:

服務治理可以說是微服務架構中最為核心和基礎的模塊,它主要實現各個微服務實例的自動化註冊與發現。

為什麽需要服務治理,沒有它又會怎樣呢?

在系統構建前期,服務數量較少我們可以通過一些靜態配置來完成服務的調用。

比如有兩個服務A和B 其中服務A需要調用服務B來完成一個業務操作時,為了提高B的性能或高可用我們會為B啟動多個實例,這樣我們就需要手動維護B的具體實例清單。

隨著我們的系統越來越大服務越來越多上述工作會變得繁重且繁瑣越來越難以維護。

微服務應用實例的自動化管理主要圍繞著服務註冊服務發現兩個概念展開。

服務註冊:

在服務治理框架中通常會構建一個註冊中心,每個服務單元向註冊中心登記自己提供的服務,將主機與端口、版本號等告知註冊中心,註冊中心按照服務名分類組織服務清單。

比如我們有兩個提供A服務的進程分別運行在10.237.43.1:080 和 10.237.43.2:8080當進程啟動時註冊中心就會維護類似這樣一份清單。

服務名稱 位置

服務A 10.237.43.1:8080 、10.237.43.2:8080

服務發現:

由於服務註冊中心的存在,服務間的調用通過服務名向服務實例發起請求。所以服務調用方在進行服務調用時並不知道服務的具體位置。

因此,調用方需要向服務中心獲取被調用服務的具體清單。如服務B想要調用上述服務A,服務B會向服務註冊中心請求A的具體清單,10.237.43.1:8080 和 10.237.43.2:8080

當B要發起調用時,便從清單中以某種輪詢策略取出一個位置來進行服務調用。

Eureka分為服務端和客戶端

服務端我們也稱之為服務註冊中心,而客戶端主要完成服務的註冊與發現。

Spring Cloud Eureka 1(eureka簡介)