eureka原理_SpringCloud学习之—Eureka集群搭建
Eureka集群的搭建
上次说过了在SpringCloud应用中使用Eureka注册中心,用来对服务提供者进行服务注册与发现,但同时,它也是一个“微服务”,单个应用使用空间有限,因此和zookeeper一样,它也需要搭建集群(Cluster)。
搭建Eureka集群的原理就是创建多个eureka应用(端口不同),然后将所有的注册中心的地址联合到一起。下边就以创建三个集群为例
一、将之前的创建的eureka项目复制三份
复制三份是为了不破坏原来的项目,让小伙伴们更好地学习
- 先创建三个子Module,然后复制pom.xml中信依赖,复制application.yml,然后各自创建启动类
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
server:port: 7001eureka:instance:hostname: localhost #eureka服务端的实例名称client:register-with-eureka: false #false表示不向注册中心注册自己。fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务service-url:
# 这两个变量就是上边定义过的defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址。
二、修改application.yml
这是最主要的也是最关键的一步,就是修改其中的eureka.client.service-url.defaultZone
这一项目。之前是这样的
http://${eureka.instance.hostname}:${server.port}/eureka/
之前使用的是变量,就是当前文件中定义过的eureka.instance.hostname和server.port 这一个地址,现在有了集群后,就要直接写死了。修改原则如下:
- 在任意一个eureka项目中,将上边这个地址修改为其他两个eureka项目的地址,中间用逗号隔开
- 但是呢,这三个eureka项目的hostname还不能一样,不能全都是localhost,所以开发的时候,要在本地设置虚拟域名
- 在windows下的
C:WindowsSystem32driversetcHOSTS
文件最后添加如下
127.0.0.1 eureka1
127.0.0.1 eureka2
127.0.0.1 eureka3
这样,就可以将eureka项目中的hostname改为上边三个中的一个了
比如,eureka-cluster-7001这个项目修改后的application.yml如下:
server:port: 7001eureka:instance:hostname: eureka1 #eureka服务端的实例名称client:register-with-eureka: false #false表示不向注册中心注册自己。fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务service-url:
# 单个eureka
# defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址。
# euraka集群defaultZone: http://eureka2:7002/eureka/,http://eureka3:7003/eureka
- 然后依次修改其他的两个eureka项目,最后再用浏览器打开任意一个eureka项目的地址,可以看到如下界面
- 在随意访问三个地址,可以在任意一个项目中看到其他两个集集群
三、修改服务提供者来注册到集群
- 之前是单个eureka项目,所以服务提供者就只有一个注册地址。现在是集群,所以要修改服务提供者的中的eureka注册地址了
我改的是demo2-providereureka8001
中的配置文件,修改如下:
eureka:client: #客户端注册进eureka服务列表内service-url:
# 这个地址是在eureka的application.yml中定义过的
# 单个eureka项目的的注册地址
# defaultZone: http://localhost:7001/eureka
# eureka集群的注册地址defaultZone: http://eureka1:7001/eureka,http://eureka2:7002/eureka,http://eureka3:7003/eureka
改完之后,然后启动这个提供者项目 ,就可以在eureka集群的任意一个项目中看到这个服务了
关注微信公众号“小鱼与Java”获取本项目代码和更多SpringCloud知识
eureka原理_SpringCloud学习之—Eureka集群搭建相关推荐
- kafka入门:简介、使用场景、设计原理、主要配置及集群搭建
为什么80%的码农都做不了架构师?>>> kafka入门:简介.使用场景.设计原理.主要配置及集群搭建(转) 问题导读: 1.zookeeper在kafka的作用是什么? 2. ...
- Spark学习之spark集群搭建
(推广一下自己的个人主页 zicesun.com) 本文讲介绍如何搭建spark集群. 搭建spark集群需要进行一下几件事情: 集群配置ssh无秘登录 java jdk1.8 scala-2.11. ...
- kafka入门:简介、使用场景、设计原理、主要配置及集群搭建--转载
问题导读: 1.zookeeper在kafka的作用是什么? 2.kafka中几乎不允许对消息进行"随机读写"的原因是什么? 3.kafka集群consumer和producer状 ...
- kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)
问题导读: 1.zookeeper在kafka的作用是什么? 2.kafka中几乎不允许对消息进行"随机读写"的原因是什么? 3.kafka集群consumer和producer状 ...
- kafka入门:简介、使用场景、设计原理、主要配置及集群搭
李克华 云计算高级群: 292870151 195907286 交流:Hadoop.NoSQL.分布式.lucene.solr.nutch kafka入门:简介.使用场景.设计原理.主要配置及集群搭 ...
- EureKa服务注册与发现(集群部署Eureka与支付模块集群部署、订单模块访问负载均衡调用支付服务实现)
上一遍文章完成了,聚合父工程.消费模块.支付模块.公共模块的搭建.RestTemplate调用支付模块 该篇项目创建gitv2.0的管理分子完成学习 1.Eureka基础知识 1.1. 什么是服务治理 ...
- Spring Cloud(一)Eureka Server-单体及集群搭建
一.Enreka介绍 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的.SpringCl ...
- SpringCloud(三)Eureka之集群搭建以及将服务注册到多个EurekaServer
概述:为了保证EurekaServer的高可用,可以采用服务集群方式.当有一台挂掉时,其他节点仍可以继续提供服务.在EurekaServer的集群配置中,他们为分别配置对方为自己的注册中心,并将自己节 ...
- Eureka 集群搭建
一.Eureka 高可用集群 在实际的生产环境中,eureka 常常是以集群的方式提供服务的,目的就是要保证高可用性,同时它还保证了分区容错性.这也满足了一个健壮的分布式系统所要求的 CAP 理论原则 ...
- Eureka集群搭建,unavailable-replicas服务节点不可用解決方案
最近由于项目需要搭建了eureka集群,集群搭建完成后,发现服务节点均在unavailable-replicas下,即说明集群搭建失败,各节点之间不能互相通信,网上查找了各种资料,终于解决,现将问题处 ...
最新文章
- [JAVA EE] JPA技术基础:完成数据列表的删除
- 【二分图最大匹配】【HDU2063】过山车
- UML模型中的图-实现图【组件图、配置图】
- 计算机教学难点重点,浅述如何解决小学信息技术教学中的重点、难点
- WPF 最简方法使用自己定制的 WPF 框架
- 学习笔记4--惯性导航及总结
- ANSYS 闪退问题解决办法
- itunes显示无法更新服务器失败怎么办啊,更新iTunes出现错误 iTunes更新失败解决方案...
- 【笔记】c++ - 正则表达式: GNU Regex Library、PCRE, PCRE++、Boost.Regex
- 华为机试 第二题-速战速决
- c++用贪心算法解决汽车加油问题
- 软件工程毕业论文mysql英文翻译_软件工程专业毕业设计外文文献翻译
- 【阿贝云】免费的云服务器,真香
- 解决docker启动错误 error creating overlay mount to /var/lib/docker/overlay2
- php文件上传代码dsn,数据源名称无效-使用php、PDO和DSN连接到MySQL
- 最适合初学者编写的完整指纹锁代码
- 人类感知决策的神经生理学
- 二代测序linux软件,二代测序数据分析软件包大全
- 精益生产现场管理与现场改善的方法和工具
- 自动称重管理软件功能如何助力企业实现信息化(一)