高可用HA(High Availability)是分佈式系統架構設計中必須考慮的因素之一,它一般是指,經過設計減小系統不能提供服務的時間。spring
完成第一個註冊中心項目,環境無需改變,本文高可用是模擬操做,因此咱們的操做是啓動兩個註冊中心項目,經過修改配置文件達到一樣的效果。bash
C:\Windows\System32\drivers\etc路徑下,hosts文件服務器
打開cloud-demo-eureka-server項目,在src/main/resource下建立application-server-1.yml和application-server-2.yml架構
server:
port: 8761 # 你的端口
spring:
security:
user:
name: admin
password: admin
application:
name: service-registry
eureka:
instance:
hostname: server1 # 你的地址
client:
registerWithEureka: true
fetchRegistry: true # fetchRegistry表示是否從eureka服務器獲取註冊信息
serviceUrl:
#defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
defaultZone: http://admin:admin@server2:8762/eureka/
複製代碼
server:
port: 8762 # 你的端口
spring:
security:
user:
name: admin
password: admin
application:
name: service-registry
eureka:
instance:
hostname: server2 # 你的地址
client:
registerWithEureka: true
fetchRegistry: true # fetchRegistry表示是否從eureka服務器獲取註冊信息
serviceUrl:
#defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
defaultZone: http://admin:admin@server1:8761/eureka/
複製代碼
spring:
profiles:
active:
- server-1
複製代碼
打開cloud-demo-eureka-client項目,打開src/main/resource/application.yml,修改內容,將兩個註冊中心地址都填寫在defaultZone節點中,並啓動服務,以下圖顯示內容,則啓動成功。app
spring:
application:
name: service-eureka-client #服務名稱
server:
port: 8800 #端口
eureka:
client:
service-url:
defaultZone: http://admin:admin@server1:8761/eureka/,http://admin:admin@server2:8762/eureka/
複製代碼
下面咱們關閉server1的eureka-server,以後訪問http://localhost:8762分佈式
下面咱們再次開啓server1的eureka-server服務,訪問http://localhost:8762fetch