Eureka Server的高可用
2017-01-08 21:07
323 查看
Eureka Server进行互相注册的方式来实现高可用的部署,所以我们只需要将Eureke Server配置其他可用的serviceUrl就能实现高可用部署
创建
创建
通过
此时访问peer1的注册中心:
同样地,访问peer2的注册中心:
我们也可以尝试关闭peer1,刷新
访问
创建
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/
创建
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/
hosts文件中添加对peer1和peer2的转换
127.0.0.1 peer1 127.0.0.1 peer2
通过
spring.profiles.active属性来分别启动peer1和peer2
java -jar eureka-server-1.0.0.jar --spring.profiles.active=peer1 java -jar eureka-server-1.0.0.jar --spring.profiles.active=peer2
此时访问peer1的注册中心:
http://localhost:1111/。
registered-replicas中已经有peer2节点的eureka-server了。
同样地,访问peer2的注册中心:
http://localhost:1112/,
registered-replicas中已经有peer1节点,并且这些节点在可用分片(available-replicase)之中。
我们也可以尝试关闭peer1,刷新
http://localhost:1112/,peer1的节点变为了不可用分片(unavailable-replicas)。
服务注册与发现
pring.application.name=compute-service server.port=2222 eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka/
如何配置serviceUrl来让集群中的服务进行同步
Eureka Server的同步遵循着一个非常简单的原则:只要有一条边将节点连接,就可以进行信息传播与同步场景一
假设我们有3个注册中心,我们将peer1、peer2、peer3各自都将serviceUrl指向另外两个节点。换言之,peer1、peer2、peer3是两两互相注册的。启动三个服务注册中心,并将compute-service的serviceUrl指向peer1并启动,可以获得如下图所示的集群效果。访问
http://localhost:1112/,可以看到3个注册中心组成了集群,compute-service服务通过peer1同步给了与之互相注册的peer2和peer3
总结:
两两注册的方式可以实现集群中节点完全对等的效果,实现最高可用性集群,任何一台注册中心故障都不会影响服务的注册与发现相关文章推荐
- MyBatis的架构和执行的流程,解决jdbc的一些问题
- 网站悬浮窗——在线客服
- AngularJS学习之四(分支之二):架构概述
- 学习spark的网站
- 项目使用的架构(MVP,Flux,EventBus,Observer)
- 关于手机网站自动登录的功能
- 今天接过来一个网站,想登录管理页面,不过密码是一串“f6f22515b3cebb8e759640cd7d2f74ac”登录不进,MD5加密的,那要怎么登录??
- 求一个不使用FSO的网站计数器
- instagram架构分析_转
- SMP,NUMA,MPP
- Android Clean 架构
- 杀京东架构演进及路线图说明
- 【暂更】分享亲测有效的那些实用「神器」!(网站/软件/小技巧)
- android是mvc还是mvvm架构?
- 支付宝接口开发-手机网站支付-沙箱测试
- 过滤器应用之分IP统计网站的访问次数
- Android原生库和架构层通信的socket
- angular1x初始与架构演进(二)
- curl网站开发指南
- 奥塔在线:一个投票系统的架构演进