1. 程式人生 > >Spring Cloud 進階之路 -- Eureka的高可用,搭建 Eureka叢集(開發環境和生產環境)

Spring Cloud 進階之路 -- Eureka的高可用,搭建 Eureka叢集(開發環境和生產環境)

 

Eureka 作為註冊中心,必須保障高可用,否則會直接影響有關的整個服務體系。

以下分別進行開發環境和生產環境的多服務中心叢集配置。

 

目錄

一、開發環境簡易配置:

1、配置Configurations

2、在Configurations 裡建立兩個分別為 8761 和 8762,

3、客戶端配置:

4、多服務中心同理。

二、生產環境配置

1、建立3個配置檔案

2、執行mvn 打包:

3、部署執行jar包

4、訪問服務地址


 

  • 一、開發環境簡易配置:

1、配置Configurations

上一篇搭建好的Eureka 服務中心基礎上,將port 去掉,配置在 Configurations 的變數裡(-Dserver.port=8761):

2、在Configurations 裡建立兩個分別為 8761 和 8762,

在啟動 8761 時,將 application.yml 裡的註冊中心地址改為 8762

在啟動 8762 時,將 application.yml 裡的註冊中心地址改為 8761

意思就是相互註冊。

 

啟動成功後,分別訪問  localhost:8761 和 localhost:8762,如果存在其他客戶端服務,則兩個註冊中心中都會出現。

 

3、客戶端配置:

客戶端註冊地址改為多註冊中心,多個註冊中心用逗號隔開:

eureka:
  client:
    service-url:
      #多註冊中心地址
      defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/

 

4、多服務中心同理。

舉例:如果是三服務中心,則將8761啟動時的註冊中心地址改為:

defaultZone:http://localhost:8762:euraka/,http://localhost:8763:euraka/

另兩個 8762 和 8763 類似配置啟動即可。

 

  • 二、生產環境配置

1、建立3個配置檔案

       分別為: application-e1.yml,application-e2.yml, application-e3.yml

       埠和名稱分別為: 8761, 8762, 8763       eureka1, eureka2, eureka3 

       註冊中心地址分別註冊到另外兩個註冊中心,如下圖:

 

application-e1.yml

server:
  port: 8761
spring:
  application:
    name: eureka1
eureka:
  client:
    service-url:
      #註冊中心地址
      defaultZone: http://localhost:8762/eureka/,http://localhost:8763/eureka/
    #服務端不進行註冊
    register-with-eureka: false

application-e2.yml

server:
  port: 8762
spring:
  application:
    name: eureka2
eureka:
  client:
    service-url:
      #註冊中心地址
      defaultZone: http://localhost:8761/eureka/,http://localhost:8763/eureka/
    #服務端不進行註冊
    register-with-eureka: false

application-e3.yml

server:
  port: 8763
spring:
  application:
    name: eureka3
eureka:
  client:
    service-url:
      #註冊中心地址
      defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
    #服務端不進行註冊
    register-with-eureka: false

 

2、執行mvn 打包:

F:\test\Code\blog\eurekaserver>mvn clean package

......

[INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ eurekaserver ---
[INFO] Building jar: F:\test\Code\blog\eurekaserver\target\eurekaserver-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:2.0.2.RELEASE:repackage (default) @ eurekaserver ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 22.224 s
[INFO] Finished at: 2018-07-30T13:59:35+08:00
[INFO] ------------------------------------------------------------------------

F:\test\Code\blog\eurekaserver>

 

3、部署執行jar包

將jar 包放到相應的伺服器上(這裡都是放在本機),分別執行jar包:

java -jar eurekaserver-0.0.1-SNAPSHOT.jar --spring.profiles.active=e1
java -jar eurekaserver-0.0.1-SNAPSHOT.jar --spring.profiles.active=e2
java -jar eurekaserver-0.0.1-SNAPSHOT.jar --spring.profiles.active=e3

 執行後如下圖:

 

4、訪問服務地址

分別訪問 localhost:8761,localhost:8762,localhost:8763 即可看到如下介面。

 

 

Eureka Server 叢集配置完成,然後配置相應Eureka客戶端註冊中心地址即可。

 

Spring Cloud 進階之路 -- 搭建 Eureka Client 並註冊至 Eureka Server 註冊中心