1. 程式人生 > >簡單的高可用Eureka Server

簡單的高可用Eureka Server

之前提到過的註冊中心只有一個Eureka Server,事實上也可以做一個叢集,形成高可用的Eureka中心。

1、服務同步
  多個Eureka Server之間也會互相註冊為服務,服務提供者註冊到叢集中某個節點時,這個節點會把資訊同步到叢集中的每個節點,實現資料同步,所以客戶端訪問到叢集的任意節點,都可以獲取完整的服務列表資訊。

2、搭建兩條EurekaServer的叢集,埠分別為:666和999
修改原來的EurekaServer配置:

server:
  port: 666 # 埠
spring:
  application:
    name: eureka-server # 應用名稱,會在Eureka中顯示
eureka: client: service-url: # 配置其他Eureka服務的地址,而不是自己,如:999 defaultZone: http://127.0.0.1:999/eureka
  • 刪除了register-with-eureka=false和fetch-registry=false兩個配置。因為預設值是true,這樣就會把自己註冊到註冊中心了。
  • 把service-url的值改成了另外一臺EurekaServer的地址,而不是自己

3、另外一個配置恰好相反:

server:
  port: 999 # 埠
spring:
  application:
    name
: eureka-server # 應用名稱,會在Eureka中顯示 eureka: client: service-url: # 配置其他Eureka服務的地址,而不是自己,比如666 defaultZone: http://127.0.0.1:666/eureka

4、客戶端註冊服務到叢集

eureka:
  client:
    service-url: # EurekaServer地址,多個地址以','隔開
      defaultZone: http://127.0.0.1:666/eureka,http://127.0.0.1:999/eureka

這就模擬了簡單的Eureka叢集,兩個EurekaServer就都有了user-service客戶端的資訊。但一般會有開多個user-service叢集,這樣獲取的服務列表就會有多個了。