1. 程式人生 > 實用技巧 >Eureka 叢集

Eureka 叢集

使用了註冊中心之後,所有的服務都要通過服務註冊中心來進行資訊交換。服務註冊中心的穩定性就非常重要了,一旦服務註冊中心掉線,會影響到整個系統的穩定性。所以,在實際開發中,Eureka 一般都是以叢集的形式出現的。Eureka 叢集,實際上就是啟動多個 Eureka 例項,多個 Eureka 例項之間,互相註冊,互相同步資料,共同組成一個 Eureka 叢集。搭建 Eureka 叢集,首先我們需要一點準備工作,修改電腦的 hosts 檔案( C:\Windows\System32\drivers\etc\hosts ):

127.0.0.1 eurekaA eurekaB

在 上小節 demo 的基礎上,我們在 resources 目錄下,再新增兩個配置檔案,分別為 applicationa.properties 以及 application-b.properties:

application-a.properites 內如如下:

# 給當前服務取一個名字
spring.application.name=eureka
# 設定埠號
server.port=1111
eureka.instance.hostname=eurekaA
# 預設情況下,Eureka Server 也是一個普通的微服務,所以當它還是一個註冊中心的時候,他會有兩層
身份:1.註冊中心;2.普通服務,即當前服務會自己把自己註冊到自己上面來
# register-with-eureka 設定為 false,表示當前專案不要註冊到註冊中心上
eureka.client.register-with-eureka=true
# 表示是否從 Eureka Server 上獲取註冊資訊
eureka.client.fetch-registry=true
# A 服務要註冊到 B 上面
eureka.client.service-url.defaultZone=http://eurekaB:1112/eureka

application-b.properites 內如如下:

# 給當前服務取一個名字
spring.application.name=eureka
# 設定埠號
server.port=1112
eureka.instance.hostname=eurekaB
# 預設情況下,Eureka Server 也是一個普通的微服務,所以當它還是一個註冊中心的時候,他會有兩層
身份:1.註冊中心;2.普通服務,即當前服務會自己把自己註冊到自己上面來
# register-with-eureka 設定為 false,表示當前專案不要註冊到註冊中心上
eureka.client.register-with-eureka=true
# 表示是否從 Eureka Server 上獲取註冊資訊
eureka.client.fetch-registry=true
eureka.client.service-url.defaultZone=http://eurekaA:1111/eureka

配置完成後,對當前專案打包,打成 jar 包:

打包完成後,在命令列啟動兩個 Eureka 例項。兩個啟動命令分別如下:

java -jar eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=a
java -jar eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=b

啟動成功後,就可以看到,兩個服務之間互相註冊,共同給組成一個叢集。