Spring Cloud微服务 注册中心高可用

Eureka Server的高可用

Eureka Server除了单点运行之外,还可以通过运行多个实例,并进行互相注册的方式来实现高可用的部署,所以我们只需要将Eureke Server配置其他可用的serviceUrl就能实现高可用部署。

下面我们来构建一个三节点的服务注册中心。
创建application-peer1.properties,作为peer1服务中心的配置,并将serviceUrl指向peer2,peer3

spring.application.name=eureka-server
info.version=@project.version@
server.port=1001

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://localhost:1002/eureka/,http://localhost:1003/eureka/

创建application-peer2.properties,作为peer2服务中心的配置,并将serviceUrl指向peer1,peer3

spring.application.name=eureka-server
info.version=@project.version@
server.port=1002

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://localhost:1001/eureka/,http://localhost:1003/eureka/

创建application-peer3.properties,作为peer3服务中心的配置,并将serviceUrl指向peer1,peer2

spring.application.name=eureka-server
info.version=@project.version@
server.port=1003

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://localhost:1001/eureka/,http://localhost:1002/eureka/

然后通过spring boot的--spring.profiles.active依次启动服务。

软件开发的一般流程为工程师开发 -> 测试 -> 上线,因此就涉及到三个不同的环境,开发环境、测试环境以及生产环境,通常这三个环境会有很多配置参数不同,例如数据源、文件路径、url等,如果每次上线一个新版本时都手动修改配置会十分繁琐,容易出错。spring 为我们提供了 profile 机制来解决这个问题。

java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer3

两两注册的方式可以实现集群中节点完全对等的效果,实现最高可用性集群,任何一台注册中心故障都不会影响服务的注册与发现
这里写图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值