首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Cloud学习(2)——高可用Eureka Server

Spring Cloud学习(2)——高可用Eureka Server

作者头像
胡了了
发布2019-05-29 11:46:29
3650
发布2019-05-29 11:46:29
举报

阅读的书籍为《Spring Cloud 微服务实战》。

在单节点Eureka Server中,通过设置,让服务中心不注册自己:

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

而实现Eureka Server的高可用,实际就是把自己作为服务,向其他服务注册中心注册,形成一种互相注册的服务注册中心,以实现服务清单的互相同步,达到高可用的效果。

在上文单节点的Eureka Server的基础之上进行扩展,

构建双节点服务注册中心集群

两个节点的hostname分别为peer1和peer2。 清空application.properties里的内容。 这里如果不清空之前application.properties里的内容,之前设置的eureka.client.register-with-eureka=false eureka.client.fetch-registry=false会对下文的测试产生影响,让peer1和peer2都在不可用分区中。 在application.properties的同级目录下创建application-peer1.properties作为peer1的配置文件,将serviceUrl指向peer2:

spring.application.name=eureka-server
server.port=1111
eureka.instance.hostname=peer1
eureka.client.serviceUrl.defaultZone=http://peer2:1112/eureka/
#关闭保护机制
eureka.server.enable-self-preservation=false

在application.properties的同级目录下创建application-peer2.properties作为peer2的配置文件,将serviceUrl指向peer1:

spring.application.name=eureka-server
server.port=1112
eureka.instance.hostname=peer2
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/
#关闭保护机制
eureka.server.enable-self-preservation=false

在/etc/hosts文件中添加对peer1和peer2的转换,windows系统的修改路径为C:\windows\system32\drivers\etc\hosts:

127.0.0.1 peer1
127.0.0.1 peer2

通过spring.profiles.active属性来分别启动peer1和peer2

java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
这里写图片描述
这里写图片描述

验证

访问peer1的注册中心http://localhost:1111

这里写图片描述
这里写图片描述

访问peer2的注册中心http://localhost:1112

这里写图片描述
这里写图片描述

可以看见,peer1和peer2分别出现在对方的registered-replicas和available-replicas中了。 这时,如果关闭peer2,刷新peer1,可以看见peer2变成了不可用分片(unavailable-replicas)。

这里写图片描述
这里写图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年02月27日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 构建双节点服务注册中心集群
    • 验证
    相关产品与服务
    微服务引擎 TSE
    微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档