Spring Cloud入门:高可用服务注册中心

文章实例使用的Spring Cloud版本为Finchley.SR1,Spring Boot版本为2.0.4

1 高可用服务注册中心

上一节服务注册与服务发现 中,我们尝试了服务注册中心的构建,但在微服务架构这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中必须对各个组件进行高可用部署,Eureka Server的高可用是通过启动多实例,并将自己作为服务向其他服务注册中心注册自己,最终形成的一组相互注册的服务注册,以实现服务清单的互相同步,达到高可用的效果。

2 双节点服务注册中心实例

2.1 修改上一节的application.properties配置文件,并增加application-peer1.properties和application-peer2.properties两个配置文件

application.properties

spring.application.name=eureka-server
#server.port=1001

#主机名
#eureka.instance.hostname=localhost

#向注册中心注册自己
eureka.client.register-with-eureka=true

#允许客户端向Eureka 注册表获取信息
eureka.client.fetch-registry=true

application-peer1.properties

server.port=1002

#主机名
eureka.instance.hostname=peer1

#实例默认通过使用域名形式注册到注册中心:false
eureka.instance.prefer-ip-address=false

#实例名
eureka.instance.instance-id=${eureka.instance.hostname}:${server.port}

#指定另一个服务注册中心的位置
eureka.client.serviceUrl.defaultZone=http://peer2:1003/eureka/

application-peer2.properties

server.port=1003

#主机名
eureka.instance.hostname=peer2

#实例默认通过使用域名形式注册到注册中心:false
eureka.instance.prefer-ip-address=false

#实例名
eureka.instance.instance-id=${eureka.instance.hostname}:${server.port}

#指定另一个服务注册中心的位置
eureka.client.serviceUrl.defaultZone=http://peer1:1002/eureka/

修改C:\Windows\System32\drivers\etc\hosts文件,添加对peer1和peer2的转换

127.0.0.1       peer1
127.0.0.1       peer2

2.2 通过设置–spring.profiles.active参数,分别加载application-peer1.properties和application-peer2.properties配置文件启动服务注册中心实例

打开http://localhost:1002/和http://localhost:1003/,可以看到peer1和peer2在服务注册中心相互注册的结果:
peer1
peer2
访问peer1的注册中心:http://localhost:1002/ ,可以看到registered-replicas中已经有peer2节点的eureka-server了。同样地,访问peer2的注册中心:http://localhost:1003/ ,能看到registered-replicas中已经有peer1节点,并且这些节点在可用分片(available-replicase)之中:
peer1
peer2

3 修改eureka-client,修改注册中心地址同时指向peer1和peer2注册中心:

#指定注册中心地址
eureka.client.serviceUrl.defaultZone=http://peer2:1002/eureka/,http://peer2:1003/eureka/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值