第四章 SpringCloud使用Eureka集群

1.项目概要
本章内容是基于上个章节内容 第三章 SpringCloud 使用Erueak服务注册中心 在此基础上增加了注册中心集群的功能。
在生产环境下,保证整个架构的各个环节都没有单点故障是一个基本要求,而注册中心承载着服务注册和服务端负载均衡的功能,其稳定性要求更高,因为一旦Eureka宕机故障,将会对整个的服务体系造成严重的灾难。在这个示例中,我们将尝试搭建一个3个节点的Eureka集群,目标架构如下:

2.Eureka服务器端改造
a)host绑定
我们将在本地上启动三个Eureka服务进程来模拟3个节点,在生产环境下,这个3个节点将会部署在不同的服务器i节点上,我们对本机的host进行绑定
127.0.0.1 eureka1 eureka2 eureka3
b)增加3个profile配置文件
增加3个properties文件,分别对应了3个不同的profile,这个三个profile中定义了不同的端口号和eureka地址

application-8081.properties 内容
server.port= 8081
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

application-7081.properties 内容
server.port= 7081
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

application-6081.properties 内容
server.port= 6081
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
c)启动三个eureka的进程
在EureakApplication.main中点击Run As -> Run Configurations,如图

会弹出如下图所示界面,在这个界面中我们可以选择启用哪个profile,

我们启动三个不同端口的eureka,因此需要依次选择3个不同的profile,然后点击Run按钮
c)查看运行效果
输入注册中心web地址: http://localhost:8081/
可以看到注册中心中已经有3个节点的信息了,但是为什么这个3个节点信息都是在unavailable-replicas里面呢,检查配置项,发现是因为我们把eureka.client.register-with-eureka设置成了false,并且没有设置当前节点的host,如图所示

将其修改下,然后重启

再次访问:
可以看出,我们访问eureka1:8081的时候,replicas是eureka2和eureka3,访问其他节点时,出现的也是另外两个节点

3.服务提供方UserService改造
a)修改项目配置项
打开springcloud-message工程的application.properties文件
将修改eureka的地址指向3个注册中心地址
eureka.client.serviceUrl.defaultZone=http://eureka1:8081/eureka/,http://eureka2:7081/eureka/,http://eureka3:6081/eureka/

b)启动服务提供者user service

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值