單機模式下搭建高可用spring cloud eureka 集群


Eureka組件作為SpringCloud微服務的服務發現與註冊中心,在整個的微服務體系中,處於核心位置。單一部署的eureka服務,已經不能滿足實際生產環境,這就要求我們配置一個能夠應對各種突發情況、高可用、具有較強容災能力的eureka集群服務。

首先,參考eureka服務端8761的模塊,分別創建eureka8762和eureka8763模塊,另外還要做如下修改。單個eureka情況下在8761中配置的eureka.instance.hostname為localhost,那麼現在在集群的環境中,如果還是這樣的話,就沒法區分三個服務端,所以我們需要在操作系統的hosts文件中添加映射,以及在對應模塊中修改服務名。

<code>127.0.0.1  eureka8761.com
127.0.0.1 eureka8762.com
127.0.0.1 eureka8763.com
/<code>

eureka8761模塊的application.yml

<code>server:
port: 8761

eureka:
instance:
hostname: eureka8761.com #eureka服務端的名稱
client:
register-with-eureka: false #不在註冊中心註冊自己
fetch-registry: false #表示自己就是註冊中心,不需要檢索服務,只需要維護服務實例
service-url:
defaultZone: http://eureka8762.com:8762/eureka/,http://eureka8763.com:8763/eureka/
/<code>

eureka8762模塊的application.yml

<code>server:
port: 8762

eureka:
instance:
hostname: eureka8762.com #eureka服務端的名稱
client:
register-with-eureka: false #不在註冊中心註冊自己

fetch-registry: false #表示自己就是註冊中心,不需要檢索服務,只需要維護服務實例
service-url:
defaultZone: http://eureka8761.com:8761/eureka/,http://eureka8763.com:8763/eureka/
/<code>

eureka8763模塊的application.yml

<code>server:
port: 8763

eureka:
instance:
hostname: eureka8763.com #eureka服務端的名稱
client:
register-with-eureka: false #不在註冊中心註冊自己
fetch-registry: false #表示自己就是註冊中心,不需要檢索服務,只需要維護服務實例
service-url:
defaultZone: http://eureka8761.com:8761/eureka/,http://eureka8762.com:8762/eureka/
/<code>

在eureka客戶端配置eureka集群,這裡需要以下配置:

<code>eureka:
client:
service-url:
defaultZone: http://eureka8761.com:8761/eureka/,http://eureka8762.com:8762/eureka/,http://eureka8763.com:8763/eureka/
/<code>

以上eureka的集群配置基本完成,然後我們測試一下,啟動三個EurekaServer,並將eureka客戶端啟動,

  • 訪問eureka8761.com:8761。
單機模式下搭建高可用spring cloud eureka 集群

  • 訪問eureka8762.com:8762
單機模式下搭建高可用spring cloud eureka 集群

  • 訪問eureka8763:8763
單機模式下搭建高可用spring cloud eureka 集群

我們看到,eureka客戶端已經將服務註冊到註冊中心集群了,而且我們訪問的是8761,上面掛載著另外兩個8762和8763,分別訪問8762、8763也是如此!


分享到:


相關文章: