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

来源:互联网 发布:白银杀人案心理 知乎 编辑:程序博客网 时间:2024/05/16 18:45

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

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

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

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

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

  1. 创建两个配置文件application-peer1.properties和application-peer2.properties
    这里写图片描述
    这里写图片描述

application-peer1.properties

spring.application.name=eureka-serverserver.port=1111eureka.instance.hostname=peer1eureka.client.serviceUrl.defaultZone=http://localhost:1112/eureka

application-peer2.properties

spring.application.name=eureka-serverserver.port=1112eureka.instance.hostname=peer2eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka

2.通过命令行的方式分别启动peer1和peer2
找到项目jar文件存放的地方,通过命令行+启动参数的方式分别启动两个项目
这里写图片描述
这里写图片描述
分别启动两个项目
这里写图片描述

3.分别访问peer1和peer2查看结果
发现各自的可用分片中已经有了对方,所以到此为止注册中心的集群就已经搭建完成了
这里写图片描述
这里写图片描述

4.修改服务的提供方的配置文件,使其可以注册到服务注册中心集群中
现在要做的就是改造我们前面写的eureka-service项目,使其能够成功的注册到注册中心集群中
这里写图片描述

spring.application.name=eureka-serviceeureka.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
这里写图片描述

依旧返回成功。

阅读全文
0 0
原创粉丝点击