如何将单机版的Eureka服务改为集群版Eureka服务

Eureka 集群原理

在这里插入图片描述

基本原理

上图是来自eureka的官方架构图,这是基于集群配置的eureka;

  • 处于不同节点的eureka通过Replicate进行数据同步
  • Application Service为服务提供者
  • Application Client为服务消费者
  • Make Remote Call完成一次服务调用

服务启动后向Eureka注册,Eureka Server会将注册信息向其他Eureka Server进行同步,当服务消费者要调用服务提供者,则向服务注册中心获取服务提供者地址,然后会将服务提供者地址缓存在本地,下次再调用时,则直接从本地缓存中取,完成一次调用。

当服务注册中心Eureka Server检测到服务提供者因为宕机、网络原因不可用时,则在服务注册中心将服务置为DOWN状态,并把当前服务提供者状态向订阅者发布,订阅过的服务消费者更新本地缓存。

Eureka 单机版到集群的改造过程

新建 两个Eureka模块项目

新建模块(springcloudDemo-Eureka-7002和 springcloudDemo-Eureka-7003),至于如何在父项目下新建模块请参考Eclipse构建Maven分包项目并构建服务端
在这里插入图片描述
在这里插入图片描述
注: 截图中对应的Eureka 即三个Eureka服务构成Eureka集群

复制 springcloudDemo-Eureka-7001 中的内容

由于是学习SpringCloud Eureka 所以Eureka服务没有太多操作,所以将之前的设置的单机版Eureka 内容复制过来
在这里插入图片描述
在这里插入图片描述
下的内容,分别拷贝到对应的其他Eureka集群成员中
特别注意:请不要为了方便直接拷贝Eclipse中springcloudDemo-Eureka-7001中的内容,直接到其他的项目中,这样做是会报错的。。。 所以别偷懒!!!

修改新建的两个模块的启动类名称

这个也可以不修改,没有啥太大的影响

修改hosts中的映射

Windows 位置: C:\Windows\System32\drivers\etc

127.0.0.1  eureka7001.com
127.0.0.1  eureka7002.com
127.0.0.1  eureka7003.com

修改三个Eureka服务的配置文件

下面针对三个服务的配置文件进行相应的说明:

  • springcloudDemo-Eureka-7001
    需要和另外两个服务的路由地址相连接
server: port: 7001eureka:instance:hostname: eureka7001.com #eureka服务端的实例名称, C:\Windows\System32\drivers\etc 的hosts已经加入映射client:register-with-eureka: false #false表示不向注册中心注册自己。fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务service-url:#单机#defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/        #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址。#集群defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
  • springcloudDemo-Eureka-7002
server: port: 7002eureka:instance:hostname: eureka7002.com #eureka服务端的实例名称, C:\Windows\System32\drivers\etc 的hosts已经加入映射client:register-with-eureka: false #false表示不向注册中心注册自己。fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务service-url:#单机#defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/        #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址。#集群defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7003.com:7003/eureka/
  • springcloudDemo-Eureka-7003
server: port: 7003eureka:instance:hostname: eureka7003.com #eureka服务端的实例名称, C:\Windows\System32\drivers\etc 的hosts已经加入映射client:register-with-eureka: false #false表示不向注册中心注册自己。fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务service-url:#单机#defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/        #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址。#集群defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/

服务提供者将配置文件从单机版修改为集群

原理: 服务注册的时候,从注册到一台修改为注册到多台

	  #单机版#defaultZone: http://localhost:7001/eurekadefaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/

测试

分别启动三个Eureka服务,形成Eureka集群,之后在启动服务提供者
在这里插入图片描述
打开浏览器分别输入:

  • http://eureka7001.com:7001/
    在这里插入图片描述
  • http://eureka7002.com:7002/
    在这里插入图片描述
  • http://eureka7003.com:7003/
    在这里插入图片描述
    可以查看 服务8001,已经注册到三台Eureka集群中,Eureka集群正常启动。
    注: 为什么 http://eureka7003.com:7003/ 界面会报错,这是因为Eureka 保护机制导致,并不影响。

至此,从上一篇单机版到集群Eureka的改造完成。 至于服务消费者访问,由于现在只有一个生产者,所以目前不是很明显,之后会构建服务生产者集群,然后在测试服务消费者,这样会比较好比较。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556302.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

台式计算机读不到u盘怎么回事,电脑读不出u盘怎么办

把U盘插入电脑USB接口中,却发现找不到U盘图标,甚至连安装U盘驱动的提示也没有,那么电脑读不出u盘怎么办呢?天学习啦小编就和大家说说电脑读不出u盘的解决方法。电脑读不出u盘解决方法1、首先应该排除是否是由于电脑系统问题,具体…

Eureka 与Zookeeper 的区别,Eureka相较于Zookeeper好在哪?

传统的ACID A(Atomicity) 原子性C(Consistency) 一致性I (Isolation)独立性D(Durability)持久性 关系型数据库(MySQL,Oracle,SqlServer&#xf…

如何将Springboot项目成功部署到linux服务器上?

springboot的jar包方式 idea默认就是jar打包方式所以直接使用maven工具按照步骤点击就可以直接打包ps:打包前你的数据库相关的连接信息要记得修改,不能再用本地的了 第二步:Maven clean :清除编译后的目录,默认是target目录 [IN…

2018年3月计算机二级考试题,2018年3月计算机二级考试Access综合试题十

2018年3月计算机等级考试即将开始,小编在这里为考生们整理了2018年3月计算机二级考试Access综合试题,希望能帮到大家,想了解更多资讯,请关注出国留学网的及时更新哦。2018年3月计算机二级考试Access综合试题十(1)要将“选课成绩”…

sqldataadapter.fill 索引超出了数组界限_小学生学习C++||第十五节 数组

存储数据的方式第一种,变量:存放1个学生的数学成绩可以定义1个变量存放,那么如果想要存放100个学生的数学成绩应该如何存储呢?第二种,数组:引入数组概念:可以用来表达类型相同的元素的集合&…

数据字典在sga的哪一个组件中缓存_【赵强老师】Oracle数据库的内存结构

首先,我们通过一张图片来了解一下Oracle数据库的内存结构,如下:每个数据库实例有两个关联的内存结构—系统全局区(SGA),程序全局区(PGA)。系统全局(SGA):一组共享的内存结构(称为SGA 组件),其中包含一个OracleDB 实例的…

计算机黑屏策略,小黑w7系统诊断策略服务已被禁用的还原教程

小黑w7家庭版开机速度快,是入门级小黑w7系统。据调查不少用户在使用中都碰到了诊断策略服务已被禁用的问题。面对小黑w7系统诊断策略服务已被禁用这样的小问题,我们该如何解决呢?不经常使用电脑的朋友对于小黑w7系统诊断策略服务已被禁用的问…

overline css,CSS text-decoration-line 属性

定义和用法text-decoration-line 属性规定文本修饰要使用的线条类型。注意:您也可以使用 text-decoration 属性设置 text-decoration-line。text-decoration 属性是 text-decoration-line、text-decoration-style 和 text-decoration-color 属性的速记属性。注意&am…

npoi word在试图打开文件时遇到错误_【技巧】word在试图打开文件时遇到错误

问题使用Word的时候遇到了一个问题,如下图所示解决方案情况一:修改文件后缀导致打开错误如果源文件不是“.doc”或者“.docx”格式结尾,通过修改文件后缀的方式修改为“.doc”或者“.docx”格式。在打开文件的时候出现上述警告时,…

空间服务器有问题是系统问题吗,服务器空间租用两个主要问题要留意

只要是建设网站,那么服务器空间租用都是不能缺少的。而且这样的一种租赁模式都是长期的,所以我们需要考虑到租用的整体性价比,这样后续的应用才能有所保障。而且我们只要是建设了网站,服务器和空间一般都是不会更换掉的&#xff0…

面试让HR都能听懂的MySQL锁机制,欢声笑语中搞懂MySQL锁

腾讯云数据库负责人林晓斌说过:“我们面试MySQL同事时只考察两点,索引和锁”。言简意赅,MySQL锁的重要性不言而喻。 本文通过同事“侨总”的一场面试,带你通俗易懂的掌握MySQL各种锁机制,希望可以帮到你!近…

MySQL锁机制,行锁jingran加在索引上

锁概述 锁是计算机协调多个进程或线程并发访问某一资源的机制,应该都不陌生。?但在这之前我们先来看看并发控制,理清MVCC多版本并发控制和锁的关系,这也是之前我很迷惑的一个点 并发控制技术 在数据库中,数据可以允许多个用户…

闲置服务器 虚拟服务器,闲置主机搭建服务器

闲置主机搭建服务器 内容精选换一换安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器。例如QQ.exe。在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器。例如QQ.exe。本地磁盘映射(推荐使用…

浏览器接收响应数据过大_交互响应性能之优化FID

由于 FID 需要一个真实用户的交互,所以无法用实验数据测试。为了在实验数据下预测 FID,通常会用 TBT(Total Blocking Time),具体这个指标后面文章会介绍。他们测量的内容不同,但改善 TBT 通常也能改善 FID。一个糟糕的 FID 主要原…

postman如何发送application/json类的post请求

​ 当接口类型限制为只接受application/json类型的请求,我们使用postman测试的时候怎么选择呢?如下图: 我们需要先在postman上选择POST请求方法,后边输入要请求的地址即可。 在Body选项卡选择raw,然后再后边的下拉选项…

fe文件服务器,FE File Explorer

FE File Explorer是Mac电脑上的一款文件管理应用。FE File Explorer可以访问FTP,SFTP,WebDAV服务器和网络共享上的文件。在这些位置之间传输文件。将电影和歌曲流式传输到Mac。直接在远程位置查看和编辑文档,照片,文件&#xff0c…

swift中文文档_Flutter 中文文档:使用 Packages

Flutter 支持使用其他开发者向 Flutter 和 Dart 生态系统贡献的共享 package,这意味着你可以快速构建应用而不是一切从零开始。现有的 package 支持许多使用场景,例如,网络请求 (http),自定义导航/路由处理 (fluro),集…

Spring深入理解之ComponentScan___@ComponentScan 详解

Spring深入理解之ComponentScan 一、概述 ComponentScan顾名思义包扫描,底层其实就可以通过递归算法反射将其装载成bean来实现的,实在开发过程中,Spring已经帮我们实现好了,我们其实就可以直接使用XML或者注解的形式来进行业务处…

云服务器centos怎么还原系统还原,云服务器centos怎么还原系统还原

云服务器centos怎么还原系统还原 内容精选换一换云耀云服务器(Halo Elastic Cloud Server,HECS)是可以快速搭建简单应用的新一代云服务器,具备独立、完整的操作系统和网络功能。提供快速地应用部署和简易的管理能力,适用于网站搭建、开发环境…

高倍数泡沫装置PHP_泡沫灭火系统,了解这几点就好

1 集输站库泡沫灭火系统的构成油区的泡沫灭火系统主要由消防水泵、消防水源、泡沫灭火剂储存装置、泡沫比例混合装置、泡沫产生装置及管道等组成。泡沫液按发泡倍数不同可分为低倍数泡沫液、中倍数泡沫液和高倍数泡沫液。发泡倍数 20 以下的称为低倍数泡沫液, 发泡倍…