Eureka 叢集
阿新 • • 發佈:2020-08-02
使用了註冊中心之後,所有的服務都要通過服務註冊中心來進行資訊交換。服務註冊中心的穩定性就非常重要了,一旦服務註冊中心掉線,會影響到整個系統的穩定性。所以,在實際開發中,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
啟動成功後,就可以看到,兩個服務之間互相註冊,共同給組成一個叢集。