目  录

1. 高可用EureKa注册中心示意图

2. Eureka实例相互注册配置

3. 微服务注册到Eureka配置

4. 启动步骤及配置成功检查

5. 说明事项

1. 高可用EureKa注册中心示意图

Spring Cloud的Eureka Server的高可用实际上就是将自己作为服务向其他服注册中心注册自己,形成一组互相注册的服务注册中心,以实现服务清单的互相同步,达到高可用的效果。

如下图,Eureka server 1, Eureka server 2相互感应,当有服务注册时,多个Eureka-server是对等的,它们都存有相同的信息,这就是通过服务器的冗余来增加可靠性,当有一台服务器宕机了,服务并不会终止,因为另一台服务存有相同的数据。

2. Eureka实例相互注册配置

Eureka通过运行多个实例,使其更具有高可用性,这是它默认的属性,需要做的就是给对等的实例一个合法的关联serviceUrl,分别配置Eureka多个实例的application.yml 使其相互注册。

比如有两个eureka服务,分别部署在两台服务器上。

第1个Eureka 配置文件application.yml如下:

第2个Eureka 配置文件application.yml如下:

项目中Eureka配置非常简单,分别部署在两台机器上,只须按如下配置每个Eureka并修改defaultZone中的server1-IP 和 server2-IP ,根据实际情况改为服务器具体的IP即可。

配置完上述步骤,两个Eureka服务相互注册,即可启用Eureka的HA属性。

3. 微服务注册到Eureka配置

比如,tpp-acc注册到Eureka

配置文件中,eureka.client.serviceUrl.defaultZone 增加以上多个Eureka对应的URL:

4. 启动步骤及配置成功检查

先启动Eureka1Application,Eureka2Application,然后启动其他的微服务

每个注册中心的available-replicas都出现另外的注册中心的服务,则说明搭建成功。

例如:

我本机分别启动了三个Eureka实例,由于我本地是单机环境,分别通过机器IP、127.0.0.1和localhost作为三个Eureka的hostname,如下:

http://172.20.16.198:8761/

http://127.0.0.1:8762/

http://localhost:8763/

每个注册中心的available-replicas都出现其他两个注册中心的服务,说明搭建成功。

如下图,其中http://localhost:8763/ 可以看到其他8761  8762两个服务。

另外,启动example-service:8080进行注册,在每个注册中心都能看到相同的服务已注册。

当关掉其中一台Eureka服务时,则出现在unavailable-replicas中,如下图。

5. 说明事项

Eureka互相注册要求各个Eureka实例的eureka.instance.hostname不同,如果相同,则会被Eureka标记为unavailable-replicas。

把eureka.instance.hostname取了${spring.cloud.client.ipAddress}的值,这个值取的是当前启动Eureka的机器的IP,这样虽然配置一样但却自动区分了每台机器的Eureka,这时我们再取prefer-ip-address: true,就可以确保机器优先使用IP而不是到hosts解析域名。

高可用Eureka注册中心配置说明(双机部署)的更多相关文章

  1. Spring Cloud第三篇 | 搭建高可用Eureka注册中心

    ​ ​本文是Spring Cloud专栏的第三篇文章,了解前两篇文章内容有助于更好的理解后面文章: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring ...

  2. SpringCloud学习系列之一 ----- 搭建一个高可用的注册中心(Eureka)

    前言 本篇主要介绍的是SpringCloud相关知识.微服务架构以及搭建一个高可用的服务注册与发现的服务模块(Eureka). SpringCloud介绍 Spring Cloud是在Spring B ...

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

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

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

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

  5. 搭建高可用服务注册中心-Spring Cloud学习第一天(非原创)

    文章大纲 一.Spring Cloud基础知识介绍二.创建单一的服务注册中心三.创建一个服务提供者四.搭建高可用服务注册中心五.项目源码与参考资料下载六.参考文章   一.Spring Cloud基础 ...

  6. spring cloud 入门系列三:使用Eureka 搭建高可用服务注册中心

    在上一篇中分享了如何使用Eureka 进行服务治理,里面搭建的服务注册中心是单体的, 但是在实际的应用中,分布式系统为了防止单体服务宕机带来严重后果,一般都会采用服务器集群的形式,服务注册中心也是一样 ...

  7. 服务注册发现Eureka之二:高可用服务注册中心

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

  8. 高可用服务注册中心(Eureka-Cluster)

    在实际生产中,我们需要高可用的集群方案,本章就是基于SpringBoot1.5.4 Cloud(Dalston.SR2) 的高可用Eureka Cluster,以及生产中需要注意的事项… - Eure ...

  9. Spring Cloud Eureka 4 (高可用服务注册中心)

    在微服务这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中必须考虑对各个组件进行高可用部署,对于服务注册中心也是一样. Eureka Server 的高可用实际上就是讲自己作为服务向 ...

随机推荐

  1. JAVA注释--2019-04-28

    一.JAVA自带注解 1.@Override:覆盖父类方法 2.@Deprecated:不建议使用(就是方法上画一条横线划掉那种) 3.@SuppressWarnings:去掉警告:使用方法:@Sup ...

  2. linux学习--2019-04-22

    1.写命令,vi编辑器 1)vi 文件名 2) 按 ‘i’ 进入编辑模式 3)编写完成后,按Esc,然后输入 “:wq” 推出编辑.(“q!”不存盘,强制退出vi) 2.命令补全 “Tab” 3.获取 ...

  3. 微服务框架——SpringCloud(三)

    1.Zuul服务网关 作用:路由转发和过滤,将请求转发到微服务或拦截请求.Zuul默认集成了负载均衡功能. 2.Zuul实现路由 a.新建springboot项目,依赖选择 Eureka Discov ...

  4. c++继承学习

    继承分类: 虚表继承 class D{ public : d(){ } ~d(){ } private: }; 单重继承 class D{ public : d(){ } ~d(){ } privat ...

  5. HashCode总结

    不同的实例对象的hashCode是不相同的 package com.cici.test;class DoubleLinkNode{ public int iData; public double dD ...

  6. Xcode 10.1 运行老版本工程遇到问题解决记录

    近来接手公司一个历史遗留项目进行修改.上线工作,想想我都近三年没敲过iOS代码了也是慌.. 项目大致情况: 18年年初应上线项目,各种情况下一直搁置,到18年底了要重启上线,原来开发人员离职了都,年底 ...

  7. Shell脚本学习 - 基本内容以及数据格式

    为了捞取日志,自己用python写了一些东西,大致套路就是读取写入文件的操作,放到linux上跑.实际使用时发现要操作的文件有时比较大,直接打开文件找需要的东西可能会有一些效率问题.所以学习一下she ...

  8. Response输出excel设置文本样式

    在网上查了些Response导出excel然后设置样式的方法,发现没有一个可行的于是开始自己研究, 发现可以通过输出样式的方式进行配置,我要设置的是全文本格式在excel样式是这样的mso-numbe ...

  9. jquery ajax中success与complete的执行顺序

    jquery ajax中success与complete的执行顺序 jquery中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) ...

  10. c# winform打印excel(使用NPOI+Spire.xls+PrintDocument直接打印excel)

    前言 c#做winform程序要求生成并打印Excel报告,为了不安装Office相应组件,我选择了NPOI来生成Excel报告,用winform的PrintDocument控件来触发打印操作,而难点 ...