1. 程式人生 > >Eureka概念及簡單應用

Eureka概念及簡單應用

1、為什麼使用Eureka? 

在Spring Cloud中我們經常使用Eureka,是因為SpringCloud對Eureka支援力度非常大 ,Eureka的社群活躍多較高,版本更新的速度快。

Eureka簡介:

Eureka是Netflix開發的服務發現元件,能夠實現服務註冊、登出、健康檢查,服務發現等功能,它本身是基於Restful API服務的,用來達到負載均衡和中間層服務故障轉移的目的。

2、Eureka原理:

從上圖中說明Eureka的原理:

1、Application Service是服務提供者,是從Eureka的Region中查詢Zone對應的Eureka Server,為服務消費者提供服務;

2、Make Remote Call是服務提供者與服務消費用的呼叫關係,是採用Restful API風格

3、us-east-1c,us-east-1d,us-east-1e分別是Eureka的Zone,都屬於Eureka的Region,這個Region名字就是us-east-1

4、Application Client是服務消費者,是一個JAVA客戶端,用於簡化與Eureka Server的互動,客戶端同時也具有一個內建的、使用輪詢負載演算法的負載均衡器。

5、Eureka Server之間是通過複製的方式做資料同步的

6、Eureka還提供了客戶端快取的機制,即使所有的Eureka Server都掛掉,客戶依然可以利用快取的資訊消費其它服務

7、Eureka Server與Eureka Client之間採用心跳機制,進行健康檢查,每30秒傳送一個心跳,檢查服務是否有效。

綜上:Eureka是通過心跳檢測、健康檢查、客戶端快取機制確保了系統 的高可用性、靈活性和可伸縮性。

3、 Eureka對於許可權注意事項

如果你在工程中引入下面的包,如果不註解掉,系統會自動給設定一個隨機的密碼,儘管在Application.yml 檔案中eureka.client.serviceUrl.defaultZone設定成

http://ocalhost:8761/eureka(沒有設定成http://user:[email protected]:8761/eureka),在登陸Eureka主介面, 仍然需要登陸(賬號是user,密碼是系統隨機的)

4、Eureka高可用配置

Eureka本身即是Client,也是Server,所以如果部署三個節點,實現高可用, 需要讓第一個節點都註冊到其餘的兩個節點中,如下圖:

Eureka實現高可用的主要原理就是相互之間註冊,相互之後備份,保證了註冊資訊資料一致性。

5、通過Eureka/apps能夠訪問註冊的服務相關屬性,如下圖所示:

也可以指定某個服務進行單獨檢視,如下圖所示:

6、設定home-page-url

從上面 的圖中可以看,預設情況下homepageurl是圖中的樣子,我們可以通過在application.yml中配置這個屬性:eureka.instance.home-page-url-path:/ribbon,這樣訪問的時候,hompageurl就是變成了http://192.168.0.104:7900/ribbon;