SpringCloud學習筆記(二)——Eureka註冊中心

Eureka簡介

eureka是Netflix開發的服務發現組件,本身是一個基於REST的服務。Spring Cloud將它集成在其子項目spring-cloud-netflix中,

以實現Spring Cloud的服務發現功能。eureka現在已經從1.0升級到2.0,可惜的是eureka2.0不在開源,但也不影響我們的使用。

由於基於REST服務,自然而然的就能想到,這個服務一定會有心跳檢測、健康檢查和客戶端緩存等機制。

Eureka包括兩個端:

  • Eureka Server:註冊中心服務端,用於維護和管理註冊服務列表。
  • Eureka Client:註冊中心客戶端,向註冊中心註冊服務的應用都可以叫做Eureka Client(包括Eureka Server本身)。

Eureka架構圖

在這裏插入圖片描述

Eureka Server註冊中心

新建項目過程

file---->new---->project----->Spring Initializr----->Default:https://start.spring.io
Dependencies:Cloud Discovery:Eureka Server
注意,

  • 選擇依賴的時候, 選擇Cloud Discovery:Eureka Server
  • 啓動入口類上打上註解:@EnableEurekaServer
  • 啓動後一直報錯是因爲心跳機制, 等註冊地址配好就不報錯了

配置文件

在這裏插入圖片描述

控制檯

在這裏插入圖片描述

Eureka Client:服務註冊

新建項目過程

file---->new---->project----->Spring Initializr----->Default:https://start.spring.io
Dependencies:Cloud Discovery:Eureka Discovery
注意,

  • 選擇依賴的時候, 選擇Cloud Discovery:Eureka Discovery
  • 啓動入口類上打上註解:@EnableDiscoveryClient
  • server port 要修改,否則啓動是可能會報錯

配置文件

在這裏插入圖片描述

eureka的高可用

如果我們的Eureka崩潰了,那麼下面的服務就都掛了,爲了避免這種情況,我們可以開啓兩個註冊中心,然後讓它們彼此註冊
兩個Eureka互相註冊後,Eureka1中的信息就會同步到Eureka2中,這樣當其中一個掛掉的時候,另外一個還可以正常顯示。
開發階段可以用下面的方式實現啓動兩個Eureka
正式環境至少三個

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

啓動多個實現高可用

此時,如果Eureka1崩潰了,或者我們可以手動停止運行它,然後我們會發現Eureka2依然保有Client的信息
但是由於Client註冊的時候只在Eureka1註冊了,所以當我們重啓Client的時候[此時Eureka1已經關閉]就啓動不起來了,而Eureka2頁不會包含Client的信息
解決辦法:我們可以讓Client啓動的時候往兩個註冊中心進行註冊 如下:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

我們修改一個,就啓動一個,然後就把三個Eureka都配置好,並啓動了。
在這裏插入圖片描述

Eureka總結

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章