前面我们搭建的注册中心只适合本地开发使用,在生产环境中必须搭建一个集群来保证高可用。Eureka 的集群搭建方法很简单:每一台 Eureka 只需要在配置中指定另外多个 Eureka 的地址就可以实现一个集群的搭建了。

以 2 个节点为例来说明搭建方式。假设我们有 master 和 slaveone 两台机器,需要做的就是:

  • 将 master 注册到 slaveone 上面。
  • 将 slaveone 注册到 master 上面。

如果是 3 台机器,以此类推:

  • 将 master 注册到 slaveone 和 slavetwo 上面。
  • 将 slaveone 注册到 master 和 slavetwo 上面。
  • 将 slavetwo 注册到 master 和 slaveone 上面。

搭建步骤

创建一个新的项目 eureka-server-cluster,配置跟 eureka-server 一样。

首先,我们需要增加 2 个属性文件,在不同的环境下启动不同的实例。增加 application-master.properties:

server.port=8761

# 指向你的从节点的Eureka
eureka.client.serviceUrl.defaultZone=http://用户名:密码@localhost:8762/eureka/

增加 application-slaveone.properties:

server.port=8762
# 指向你的主节点的Eureka

eureka.client.serviceUrl.defaultZone=http://用户名:密码 @localhost:8761/eureka/

在 application.properties 中添加下面的内容:

spring.application.name=eureka-server-cluster

# 由于该应用为注册中心, 所以设置为false, 代表不向注册中心注册自己

eureka.client.register-with-eureka=false

# 由于注册中心的职责就是维护服务实例, 并不需要检索服务, 所以也设置为 false

eureka.client.fetch-registry=false
spring.security.user.name=lyy
spring.security.user.password=123456

# 指定不同的配置环境

spring.profiles.active=master

在 机器A 上默认用 master 启动服务,

然后在 机器B 上加上 --spring.profiles.active=slaveone 启动服务即可。

这样就将 master 注册到了 slaveone 中,将 slaveone 注册到了 master 中,无论谁出现问题,应用都能继续使用存活的注册中心。

在客户端中我们通过配置

eureka.client.serviceUrl.defaultZone

来指定对应的注册中心,当我们的注册中心有多个节点后,就需要修改 eureka.client.serviceUrl.defaultZone 的配置为多个节点的地址,多个地址用英文逗号隔开即可:

eureka.client.serviceUrl.defaultZone=http://lyy:123456@localhost:8761/eureka/,http://lyy:123456@localhost:8762/eureka/

上一篇 Eureka注册中心开启密码认证

下一篇介绍 Eureka自我保护和InstanceID的配置

《SpringCloud超级入门》使用Eureka集群搭建《十三》相关推荐

  1. 疯狂Spring Cloud连载(5)Eureka集群搭建

    2019独角兽企业重金招聘Python工程师标准>>> 本文节选自<疯狂Spring Cloud微服务架构实战> 京东购买地址:https://item.jd.com/1 ...

  2. Eureka集群搭建

    Eureka集群搭建 配置映射 修改hosts对Eureka节点进行区分,因为我这里是单机模拟集群,实际情况这三个节点应该放在不同机器上. 127.0.0.1 eureka1.com 127.0.0. ...

  3. 《SpringCloud超级入门》Eureka自我保护模式和InstanceID的配置《十四》

    关闭自我保护 保护模式主要在一组客户端和 Eureka Server 之间存在网络分区场景时使用.一旦进入保护模式,Eureka Server 将会尝试保护其服务的注册表中的信息,不再删除服务注册表中 ...

  4. 《SpringCloud超级入门》Eureka注册中心开启密码认证《十二》

    Eureka 自带了一个 Web 的管理页面,方便我们查询注册到上面的实例信息,但是有一个问题:如果在实际使用中,注册中心地址有公网 IP 的话,必然能直接访问到,这样是不安全的.所以我们需要对 Eu ...

  5. 大数据之超级详细的KafKa集群搭建过程

    大数据 大数据之超级详细的KafKa集群搭建过程 文章目录 大数据 大数据之超级详细的KafKa集群搭建过程 前言 一.Kafka集群配置方法 1.1 将Kafka的安装包上传到虚拟机,并解压(三个虚 ...

  6. Eureka 集群搭建

    一.Eureka 高可用集群 在实际的生产环境中,eureka 常常是以集群的方式提供服务的,目的就是要保证高可用性,同时它还保证了分区容错性.这也满足了一个健壮的分布式系统所要求的 CAP 理论原则 ...

  7. SpringCloud--Eureka服务注册与发现 Eureka 集群搭建 详细案例!!!

    SpringCloud组件--Eureka 完整笔记 一.Eureka基础知识 1.1.什么是服务治理 ? 1.2. 什么是服务注册与发现? 1.3.Eureka两组件:Eureka Server和E ...

  8. Eureka集群搭建,unavailable-replicas服务节点不可用解決方案

    最近由于项目需要搭建了eureka集群,集群搭建完成后,发现服务节点均在unavailable-replicas下,即说明集群搭建失败,各节点之间不能互相通信,网上查找了各种资料,终于解决,现将问题处 ...

  9. JavaEE进阶知识学习-----SpringCloud(四)Eureka集群配置

    Eureka集群配置 microservicecloud-eureka-7001使EurekaServer服务注册中心,一旦这个出现问题,那么微服务就不能正常的工作,为防止这种情况,所以出现了集群,就 ...

最新文章

  1. 《R语言编程艺术》——2.5 使用all()和any()
  2. mfc cedit 默认显示内容_拼多多评价不显示的几大原因,看完之后才知道是触碰了这几个环节...
  3. 主机名修改 Oracle监听器,oracle agent不能启动的解决方案
  4. Golang map 如何进行删除操作?
  5. Oracle使用startup与startup force启动的区别
  6. Spring事务配置方式(一) 拦截器方式配置
  7. 前端笔记-StackedBar3D的初步修改(添加legend等)
  8. 【游戏】基于matlab GUI可调电扇设计【含Matlab源码 1110期】
  9. 移动端flex学习笔记(黑马教程)-基础概念
  10. 最速下降法matlab全局最小值_matlab实现最速下降法和dfp求函数最小值
  11. 16Aspx.com源码2014年7月详细
  12. Android:给图片加边框
  13. Vista激活机制又爆新特性,可不激活运行至少一年
  14. LMIC一直busy解决方法
  15. 一篇文章,助你实现认知突破,重获新生
  16. Axure RP 10 10.0.0.3818 中文版 专业的快速原型设计工具
  17. 存储系统——主存储器
  18. 迅为iTop4412精英板运行QT程序触摸/鼠标失灵
  19. python论文排版格式_一张图总结科研必备的软件清单,妈妈再也不用担心我的工作了...
  20. 谷歌地球 V6.2.1.6014 简体中文版

热门文章

  1. 容器技术之Dockerk8s知识笔记
  2. java hs err pid_JAVA 奔溃 生成hs_err_pid****的文件,求大神看看
  3. mysql数据自定义随机_Mysql 自定义随机字符串
  4. MySQL数据步骤管控_数据管理的发展过程分为哪三个阶段
  5. 主板24pin接口详图_【图解】主板连线接口最详尽图文解释
  6. ftp上传文件夹_ftp同步软件哪个好,ftp同步软件哪个好,6款好用推荐
  7. python与golang_Golang与python线程详解及简单实例
  8. python 长度queue_python:常见的数据结构
  9. IE浏览器怎么清理缓存
  10. windows7系统电脑管理员权限的更改方法