Spring Cloud 進階之路 -- Eureka的高可用,搭建 Eureka叢集(開發環境和生產環境)
Eureka 作為註冊中心,必須保障高可用,否則會直接影響有關的整個服務體系。
以下分別進行開發環境和生產環境的多服務中心叢集配置。
目錄
2、在Configurations 裡建立兩個分別為 8761 和 8762,
-
一、開發環境簡易配置:
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 註冊中心