如何将单机版的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,一经查实,立即删除!

相关文章

python统计字数分布可视化展示_数据的概率分布并用python实现概率分布可视化图...

一、基础概念先来看下数据的类型,常见的数据分类方式有三种:第一种是按照数据的结构属性分类,根据数据的存储形式分为结构化数据和非结构化数据,例如数据库的存储对象基本上都是结构化数据,结构化数据是进行数据分析的…

台式计算机读不到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…

断网情况下安装python_断网环境下利用pip安装Python离线安装包

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。这几天搞Windows离线断网环境下安装Python包,配置环境,各种坑!做个记录,供以后查询吧。# 生产环境 windows 7# python 2.7.9# pip 1.5.2友情提示…

计算机英语词组,计算机专业英语词组.doc

Integrated circuit 集成电路Central controller 中央控制器Trigonometry function 三角函数Square root 平方根Floating point 浮点数Real number 实数Logic operation 逻辑运算Superscalar computer 超级计算机Hard disk drive 硬盘驱动器Personal computer 个人计算机Floppy…

python 整数输出 d f_如何将数字(10,11,12,13,14,15)分配给Python 3中的字母(A,B,C,D,E,F)?...

您可以在代码中添加更多行来执行此操作:首先创建两个带有字符的列表,一个带有要映射的整数,然后从那些创建dict:list_1["A","B","C","D","E","F"]list_2[10,11,12,1…

如何将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个学生的数学成绩应该如何存储呢?第二种,数组:引入数组概念:可以用来表达类型相同的元素的集合&…

计算机组组内培训记录,计算机教研组活动记录.doc

计算机教研组活动记录PAGE \* MERGEFORMAT 3计算机基础教研组活动记录活动时间2017年10月17日参加人员:田飞, 许丽, 张刚, 夏丽, 刘璐, 苑瑜, 王梦, 靳双正, 梁宇, 常喜活动主题如何提高计算机课程教学质量活动过程摘要活动记录:田飞——今天我们就如何提…

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

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

springboot+shiro:ShiroConfiguration配置

1.EhCacheManager EhCache缓存管理也可将shiro session存入redis中 Beanpublic EhCacheManager getEhCacheManager() {EhCacheManager em new EhCacheManager();em.setCacheManagerConfigFile("classpath:ehcache-shiro.xml");return em;}ehcache-shiro.xml中的配置…

幼师计算机课是上什么,幼师面试 鱼在天空飞,鸟在水里游是小班课程,还是中班,大班的课程...

大班第一课时教学目标:1、学会生字“鸟、儿、鱼、飞”,读准音,认清形,了解义,能正确书写.2、看图感知画面内容,练习说话.3、拓展认识各种鸟,鱼;激发学生喜爱小动物的的感情.教学重点:学会“鸟、儿、飞、鱼”四个生字,读准字音,了解字义,能正确…

python关键词大全_Python 批量获取Baidu关键词的排名并入库

1.[代码][Python]代码#-*- coding: UTF-8 -*-#Python UTF-8 抓取百度关键词V1.0#key.txt是抓取文件配置#author PHPer.yanggmail.comimport cgi,urllib #URL读取import re #正则匹配import MySQLdb #MySQLimport datetime #时间#import time,thread #多线程"""M…

mysql出现多线程操作同一个表的情况,应该怎么办?

1、对于MySQL来说,有三种锁的级别:页级、表级、行级。 页级的典型代表引擎为BDB。 表级的典型代表引擎为MyISAM,MEMORY以及很久以前的ISAM。 行级的典型代表引擎为INNODB。 2、我们实际应用中用的最多的就是行锁。 行级锁的优点如下: 1&…

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

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

python中的date的含义_python中date、datetime、string的相互转换

import datetimeimport timestring转datetimestr 2012-11-19date_time datetime.datetime.strptime(str,%Y-%m-%d)date_timedatetime.datetime(2012,11,19,0,0)datetime转stringdate_time.strftime(%Y-%m-%d)2012-11-19datetime转时间戳time_time time.mktime(date_time.tim…

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…