高可用Eureka注册中心配置说明(双机部署)
目 录
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,如下:
每个注册中心的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注册中心配置说明(双机部署)的更多相关文章
- Spring Cloud第三篇 | 搭建高可用Eureka注册中心
本文是Spring Cloud专栏的第三篇文章,了解前两篇文章内容有助于更好的理解后面文章: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring ...
- SpringCloud学习系列之一 ----- 搭建一个高可用的注册中心(Eureka)
前言 本篇主要介绍的是SpringCloud相关知识.微服务架构以及搭建一个高可用的服务注册与发现的服务模块(Eureka). SpringCloud介绍 Spring Cloud是在Spring B ...
- 使用Spring Cloud搭建高可用服务注册中心
我们需要的,不仅仅是一个服务注册中心而已,而是一个高可用服务注册中心. 上篇博客[使用Spring Cloud搭建服务注册中心]中我们介绍了如何使用Spring Cloud搭建一个服务注册中心,但是搭 ...
- 使用SpringCloud搭建高可用服务注册中心
我们需要的,不仅仅是一个服务注册中心而已,而是一个高可用服务注册中心. 上篇博客中我们介绍了如何使用Spring Cloud搭建一个服务注册中心,但是搭建好的服务注册中心是一个单节点的服务注册中心,这 ...
- 搭建高可用服务注册中心-Spring Cloud学习第一天(非原创)
文章大纲 一.Spring Cloud基础知识介绍二.创建单一的服务注册中心三.创建一个服务提供者四.搭建高可用服务注册中心五.项目源码与参考资料下载六.参考文章 一.Spring Cloud基础 ...
- spring cloud 入门系列三:使用Eureka 搭建高可用服务注册中心
在上一篇中分享了如何使用Eureka 进行服务治理,里面搭建的服务注册中心是单体的, 但是在实际的应用中,分布式系统为了防止单体服务宕机带来严重后果,一般都会采用服务器集群的形式,服务注册中心也是一样 ...
- 服务注册发现Eureka之二:高可用服务注册中心
前言 在Spring Cloud系列文章的开始,我们就介绍了服务注册与发现,其中,主要演示了如何构建和启动服务注册中心Eureka Server,以及如何将服务注册到Eureka Server中,但是 ...
- 高可用服务注册中心(Eureka-Cluster)
在实际生产中,我们需要高可用的集群方案,本章就是基于SpringBoot1.5.4 Cloud(Dalston.SR2) 的高可用Eureka Cluster,以及生产中需要注意的事项… - Eure ...
- Spring Cloud Eureka 4 (高可用服务注册中心)
在微服务这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中必须考虑对各个组件进行高可用部署,对于服务注册中心也是一样. Eureka Server 的高可用实际上就是讲自己作为服务向 ...
随机推荐
- SpringBoot报错
同时生成了两个mapper,删除一个就行了
- HTML5+CSS3 1
html5标准模板 <!DOCTYPE html> //<!DOCTYPE>标签 向浏览器声明当前文档使用的HTML版本,<!DOCTYPE html>适用于所 ...
- 浅谈构建前端自动化工作流程一 之 node
一.Node环境 1.什么是Node? Node.js类似于jquery.js,不是js文件,也不是一个js框架,而是Server side JavaScript runTime,服务端的一个JS运行 ...
- cross-env使用笔记
1,cross-env能跨平台地设置及使用环境变量 cross-env让这一切变得简单,不同平台使用唯一指令,无需担心跨平台问题 npm安装方式 npm i --save-dev cross-env ...
- C++ 初读vector
vector 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container).跟任意其它类型容器一样,它能够存放各种类型的对象. Character 高效 C++标准要 ...
- 乞丐版JAVA扫雷
事先声明:本人是一位刚接触Java不久的菜鸟,所以代码写的略显臃肿,敬请谅解!这个扫雷是我在暑假时做的,灵感来源于csdn上某位大神的博客,不过我个人实在不喜欢他的代码实现,于是我自己写了一个实现上不 ...
- RSP小组——团队冲刺博客四
RSP小组--团队冲刺博客四 冲刺日期:2018年12月13日 前言 问题已经明确,经过今天的努力,部分已近得到解决,所以,今天是一个值得庆祝的日子. 各成员今日(12.13)完成的任务 李闻洲对音乐 ...
- PHP常用日期加减计算方法实例
PHP常用日期加减计算方法实例 实例总结了PHP常用日期加减计算方法.分享给大家供大家参考,具体如下: PHP 标准的日期格式 date("Y-m-d H:i:s"); PHP 简 ...
- DOM与BOM
DOM 1.概念起源: 文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.在网页上,组织页面(或文档)的对象被组织在一个树形结 ...
- python--ModuleFoundError
python 模块导入错误: 1. 首先py文件名不能和导入的模块名相同 (我在学习matplotlib库的时候就把文件名设置成matplotlib 多次运行不成功) 2. 由于我电脑上只有numpy ...