高可用注册中心

高可用原理

eureka.client.register-with-eureka=true(默认为true)
eureka.client.fetch-registry=true(默认为true)
Eureka的高可用,实际上是将自己作为服务向其他服务注册中心注册自己,形成一组相互注册的服务注册中心,同步服务清单。

搭建步骤

  1. 准备两份application-{profiles}.properties
    application-peer1.properties作为peer1服务中心的配置,将serviceUrl指向peer2
    application-peer2.properties作为peer2服务中心的配置,将serviceUrl指向peer1
    #peer1配置示例
    spring.application.name=eureka-server server.port=1111 eureka.instance.hostname=peer1 eureka.client.serviceUrl.defaultZone=http://peer2:1112/eureka
  2. 修改本地hosts,让host形式配置的servieUrl能在本地正确访问
    windows系统路径为C:\Windows\System32\drivers\etc\hosts
    127.0.0.1 peer1
    123.0.0.1 peer2
  3. 启动服务注册中心
    java -jar xx.jar --spring.profles.active=peerxx
    启动peer1,访问localhost:1111可以看到分片信息(此时为不可用)
    这里写图片描述
    启动peer2,刷新localhost:1111,可以看到peer2作为服务注册到peer1,且分片可用
    这里写图片描述

其他

多节点集群

原理:peer1向peer2注册,peer2向peer3注册,peer3向peer1注册,形成闭环

  1. host文件添加127.0.0.1 peer3
  2. peer1配置示例(peer1注册到peer2)
    spring.application.name=eureka-server eureka.instance.hostname=peer1 server.port=1111 eureka.client.register-with-eureka=true eureka.client.fetch-registry=true eureka.client.serviceUrl.defaultZone=http://peer2:1112/eureka eureka.server.enable-self-preservation=false
  3. 打成jar(会有一些报错),用java -jar xx.jar --spring.profiles.active=peerxx分别启动三个注册中心
  4. 观察
  • 访问localhost:1111,发现peer2与peer3是注册在peer1的,而peer1自己则向peer2注册
    这里写图片描述
  • 访问localhost:1112,发现peer1与peer3是注册在peer2的,而peer2自己则向peer3注册
    这里写图片描述
  • 访问localhost:1113,一定会发现peer1和peer2注册在peer3,peer3又向peer1注册

分片不可用

检查

  1. eureka.client.serviceUrl.defaultZone不能使用localhost(可以在host文件配置ip和主机名)
  2. 两边的spring.application.name或eureka.instance.appname要一致
  3. eureka.client.register-with-eureka和eureka.client.fetch-registry要设置为true(默认true)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火车站卖橘子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值