为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Cloud Eureka 集群高可用

标签:
Spring Cloud

在微服务架构中,注册中心是一个必不可少的组件

前面我们搭建的注册中心只适合本地开发使用,在生产环境必须搭建一个集群来保证高可用

Eureka的集群搭建很简单,每一台Eureka都需要在配置中指定另外N个Eureka的地址就可以

下面我们以2个节点来说明

我们有master和slaveone 2台机器,需要做的就是:

  • master注册到slaveone上面

  • slaveone注册到master上面即可

如果是3台机器,那么以此类推:

  • master注册到slaveone,slavetwo上面

  • slaveone注册到master,slavetwo上面

  • slavetwo注册到master,slaveone上面

首先我们需要增加2个属性文件,通过不同的环境来启动不同的实例

增加application-master.properties

server.port=8761#指向你的从节点的Eurekaeureka.client.serviceUrl.defaultZone=http://用户名:密码@slaveone:8762/eureka/

增加application-slaveone.properties

server.port=8762#指向你的主节点的Eurekaeureka.client.serviceUrl.defaultZone=http://用户名:密码@master:8761/eureka/

master 和 slaveone是hostname, 可以在hosts文件中添加,直接写IP也行

application.properties中添加下面的内容

spring.application.name=fangjia-eureka

eureka.instance.hostname=localhost# 由于该应用为注册中心,所以设置为false,代表不向注册中心注册自己eureka.client.register-with-eureka=false# 由于注册中心的职责就是维护服务实例,他并不需要去检索服务,所以也设置为falseeureka.client.fetch-registry=false# 关闭自我保护eureka.server.enableSelfPreservation=falsesecurity.basic.enabled=truesecurity.user.name=用户名
security.user.password=密码# 指定不同的环境spring.profiles.active=master

在A机器上启动默认用master启动即可,然后在B机器上加上--spring.profiles.active=slaveone启动即可

这样master注册到了slaveone中,slaveone注册到了master中,2边的配置信息是同步的,无论谁挂掉了,应用都能继续使用存活的这个注册中心。



作者:尹吉欢
链接:https://www.jianshu.com/p/5bdbdecdeec1


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消