《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
依旧返回成功。
相关文章推荐
- 绑定手机号功能,注册后在个人中心有一个绑定手机号的菜单,输入手机号码,手机接收短信验证码(有效期5分钟),,简述实现思路。
- SpringCloud 笔记 (一)---- 简单搭建服务注册中心与服务,实现服务注册中心高可用
- (2-1)SpringCloue-Eureka实现高可用注册中心
- SpringCloud(三)Eureka注册中心实现高可用
- 史上最简单的SpringCloud教程 | 第十篇: 高可用的服务注册中心
- Spring Cloud构建微服务架构(六)高可用服务注册中心
- 一个坐标点围绕任意中心点旋转--C#实现
- ZooKeeper 集群的安装、配置、高可用测试 Dubbo 注册中心集群 Zookeeper-3.4.6
- NET(C#)接入Dubbo服务,Zookeeper作为Dubbo服务的注册中心,实现thrift协议访问接口(2)
- 利用C++11实现一个自动注册的工厂
- asp.net实现一个用户进行注册的时候同时发送一个邮件到注册人的邮箱,通过发送的邮箱链接来激活该帐号
- ant design+node.js+mongoose实现一个简单的注册登录功能
- 服务注册发现Eureka之二:高可用服务注册中心
- django 实现同一个ip十分钟内只能注册一次
- spring cloud高可用的注册中心
- 一个坐标点围绕任意中心点旋转--C#实现
- Spring Cloud (19) | Eureka Server 高可用服务注册中心
- SpringCloud(第 051 篇)EurekaServer集群高可用注册中心以及简单的安全认证
- NET(C#)接入Dubbo服务,Zookeeper作为Dubbo服务的注册中心,实现thrift协议访问接口(2)
- Eureka 注册中心的高可用