您的位置:首页 > 编程语言 > Java开发

《spring cloud微服务实战》读书笔记——Spring Cloud Eureka(三)实现一个高可用的注册中心

2017-12-17 11:40 357 查看

实现一个高可用的注册中心

在微服务结构这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中必须为服务的各个组件进行高可用的部署。但是前面两节中,我们玩的都是单点的注册中心,这在生产环境下是不合适的,所以现在就需要搭建一个高可用的服务注册中心,以增加系统的可用性。

其实在Eureka Server的设计中就已经充分考虑了高可用的问题,在Eureka Server中,所有的节点即是服务的提供方也是服务的消费方。在前面的“《spring cloud微服务实战》读书笔记——Spring Cloud Eureka(一)搭建一个注册中心” 中的配置文件里我们设置了两个参数,就是让注册中心不要注册自己

eureka.client.register-with-eureka=false

eureka.client.fetch-registry=false


Eureka Server的高可用实现的方式其实就是将自己作为实例注册到其他的注册中心中,形成两个你中有我,我中有你的,互相注册的服务注册中心。



1、改造之前的服务注册中心Eureka项目

创建两个配置文件application-peer1.properties和application-peer2.properties





application-peer1.properties

spring.application.name=eureka-server
server.port=1111

eureka.instance.hostname=peer1
eureka.client.serviceUrl.defaultZone=http://localhost:1112/eureka


application-peer2.properties

spring.application.name=eureka-server
server.port=1112

eureka.instance.hostname=peer2
eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka


2.通过命令行的方式分别启动peer1和peer2

找到项目jar文件存放的地方,通过命令行+启动参数的方式分别启动两个项目





分别启动两个项目



3.分别访问peer1和peer2查看结果

发现各自的可用分片中已经有了对方,所以到此为止注册中心的集群就已经搭建完成了





4.修改服务的提供方的配置文件,使其可以注册到服务注册中心集群中

现在要做的就是改造我们前面写的eureka-service项目,使其能够成功的注册到注册中心集群中



spring.application.name=eureka-service
eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka,http://localhost:1112/eureka


5.启动eureka-service项目,测试

启动好eureka-service项目后,我们刷新ocalhost:1111和localhost:1112页面,观察到两个页面中的application下都已经有了我们的eureka-service实例。这证明eureka-service已经成功的注册到注册中心集群中了。





访问localhost:8080/hello,成功返回。



下面再来测试一下高可用好不好用,现在我们停掉peer1,然后再访问localhost:8080/hello

停掉peer1,peer1注册中心无法访问



访问localhost:8080/hello



依旧返回成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐