SpringCloud学习之—Eureka集群搭建
2020-02-27 16:04:59来源:博客园 阅读 ()
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: 7001
eureka:
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:\Windows\System32\drivers\etc\HOSTS
文件最后添加如下
127.0.0.1 eureka1
127.0.0.1 eureka2
127.0.0.1 eureka3
这样,就可以将eureka项目中的hostname改为上边三个中的一个了
比如,eureka-cluster-7001这个项目修改后的application.yml如下:
server:
port: 7001
eureka:
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知识
原文链接:https://www.cnblogs.com/Lyn4ever/p/12370203.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:[Mycat]
- java学习之第一天 2020-06-11
- Java学习之第二天 2020-06-11
- 为什么要用springcloud? 2020-06-02
- SpringCloud Alibaba 简介 2020-05-26
- SpringCloud异常处理统一封装我来做-使用篇 2020-05-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash