高可用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