Spring Cloud Eureka(三)实现一个高可用的注册中心

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

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

其实在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-server
server.port=1111eureka.instance.hostname=peer1
eureka.client.serviceUrl.defaultZone=http://localhost:1112/eureka

application-peer2.properties

spring.application.name=eureka-server
server.port=1112eureka.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 

依旧返回成功。

Spring Cloud Eureka(三)实现一个高可用的注册中心相关推荐

  1. Spring Cloud第七篇:高可用的配置中心

    上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用,架构图如 ...

  2. Spring Cloud Eureka(一)搭建一个注册中心

    Spring Cloud Eureka(一)搭建一个注册中心 服务治理 名词解释 spring cloud eureka:spring cloud eureka 使用Netflix Eureka来服务 ...

  3. 使用SpringCloud搭建高可用服务注册中心

    我们需要的,不仅仅是一个服务注册中心而已,而是一个高可用服务注册中心. 上篇博客中我们介绍了如何使用Spring Cloud搭建一个服务注册中心,但是搭建好的服务注册中心是一个单节点的服务注册中心,这 ...

  4. Spring Cloud(F版)搭建高可用服务注册中心

    上一篇文章[Spring Cloud搭建注册中心]成功搭建了一个Eureka Server服务注册中心,不过相信细心的朋友都会发现,这个服务注册中心是一个单节点服务注册中心,万一发生故障或者服务器宕机 ...

  5. Spring Cloud构建微服务架构(六)高可用服务注册中心

    前言 在Spring Cloud系列文章的开始,我们就介绍了服务注册与发现,其中,主要演示了如何构建和启动服务注册中心Eureka Server,以及如何将服务注册到Eureka Server中,但是 ...

  6. Spring Cloud第十篇:高可用的服务注册中心

    文章 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka) 介绍了服务注册与发现,其中服务注册中心Eureka Server,是一个实例,当成千上万个服务向它注册 ...

  7. Nacos发布 v0.2 版本,无缝支持 Spring Cloud 微服务生态及高可用集群模式

    2019独角兽企业重金招聘Python工程师标准>>> 近日,阿里巴巴新开源项目Nacos 发布了 v0.2 版本,该版本开始支持完整的Spring生态技术栈,这包括 Spring ...

  8. Spring Cloud Alibaba系列使用(二)----Nacos注册中心

    1|1Spring Cloud Alibaba 介绍 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spri ...

  9. EurekaServer高可用的注册中心集群搭建

    转载请注明出处:https://www.cnblogs.com/mahongchao/p/9773586.html 1.创建springboot工程,工程目录如下: 2.添加gradle依赖 depe ...

最新文章

  1. 10只机器狗拉卡车!井然有序,毫不费力 | 极客头条
  2. OpenCV计算机视觉编程之三种图像像素的遍历方法
  3. Qt:opencv编译
  4. zabbix监控防火墙和交换机
  5. ​数据分析最重要的 3 种特征编码,你真的能分清楚?
  6. mysql数据库 常用函数_《MySQL数据库》常用函数整理
  7. 什么是商业智能(BI),以及其与数据分析的区别?
  8. python xampp mysql_php xampp mysql
  9. 小马虎想用计算机计算396乘19,2020版苏教版数学四年级下册第四单元《用计算器计算》单元测试卷C卷...
  10. matlab模拟调制过程,模拟信号的调制方式有哪三种?调制与解调是个啥过程
  11. scrolling=no 无法根据坐标获取元素_科曼尼KOMANIE三坐标测量仪命令不执行【维修】北京303所...
  12. 对waitpid 的学习
  13. 带本信息论看《三体》——信息论课程论文
  14. 嵌入式系统开发环境概述
  15. 【最强实习生】20场Android面试斩获大厂offer,来看看我都会些什么
  16. 机器学习之十大经典算法(九)EM算法
  17. 计算机仿真塞曼效应实验报告,塞曼效应实验报告[完整版].doc
  18. 低配置系统安装 linux,在低配置机中安装Linux系统
  19. mac os 安装 s2geometry + pywarps2
  20. 三方支付四方支付聚合支付系统 集成 支付宝分账 代付 多商户 短信邮件 谷歌令牌验证

热门文章

  1. mysql 创建表_每天10分钟带你学会MySQL(三)表的创建
  2. 使用pyinstaller打包python程序时问题记录
  3. 重叠面积_20天津中考试卷及答案(24题重叠面积画板制作教程)
  4. mysql(mariadb)的安装与使用,mysql相关命令,mysql数据类型
  5. c语言吸收最后一个空格,新人提问:如何将输出时每行最后一个空格删除
  6. GAN网络(Generative Adversarial Networks )
  7. c#调用c语言的自定义函数,[转]在C#中调用C语言函数(静态调用Native DLL,Windows Microsoft.Net平台)...
  8. java 高级工程师面试
  9. axios的拦截器(Interceptors)
  10. Hbase完全分布式高可用集群安装配置