Eureka服务注册中心+Eureka集群版

抛弃概念,只说自己的理解:

首先我们都知道Cloud微服务可以是多个Boot组成,Boot之间的服务相互调用,我们当然可以用RestTemplate,但是如果子项目过多,相互调用频繁,项目与项目之间的耦合度就会非常高,注册中心帮我们解决的一个问题,就是以生产者消费者角度出发的,对代码的改动最小,相当于一个中介的概念,一个集市,每个人都可以放东西上来卖,也可以买别人的东西。
Eureka就相当于集市的作用,所以它就是一个注册中心。

看图说话?

上面的例子我们提出了两个概念例子:生产者/消费者(它们两者都可以互相转换,所以混为一体)和集市(注册中心),所以理所当然的就是一个三角关系:
在这里插入图片描述

怎么用?如何改造?

上面说了可以都是Boot,那我们就可以在一个Maven Project下面创建3个Boot。

(1)Pom.xml文件里:
生产者/消费者都使用:

在这里插入图片描述
这样证明它们都是这个集市的客户,既可以买也可以卖,没有强制的单一的身份。

Eureka服务注册中心使用:

在这里插入图片描述
代表着我是server管理人员。

(2)启动类:
生产者/消费者都使用:

在这里插入图片描述

Eureka服务注册中心使用:

在这里插入图片描述

(3)YML配置文件:
生产者/消费者都使用:

在这里插入图片描述

Eureka服务注册中心使用:

在这里插入图片描述

其他不用改造了,启动三个项目,打开自己配置的的defaultZone就可以看到~

在这里插入图片描述

集群版Eureka

为什么要用集群版?

就如同上面所说的,Eureka注册中心是一个集市,如果这个集市因为疫情或者地面塌陷不能用了,那么所有生产者和消费者都不能够使用了,所以就要有多个集市,如同游戏中的交易频道,一个频道饱满了,我就去另外一个交易频道,一样摆摊做买卖。
看图:
在这里插入图片描述

所以集群的意思,就是启动多个Eureka注册中心项目。
基于上面配置的基础,我们做一些修改:

(1)首先新增两个Eureka Server:

在这里插入图片描述
pom.xml都跟单机版的一样,唯一要修改的是yml文件:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

为什么要这样配置?记住一句话:集群版Eureka就是相互注册,相互守望。才能达到高可用的集群效果。也就是说,一个挂掉没关系,其他两个注册中心照样正常提供咨询注册服务。
(2)让生产者与消费者都接入集群中:
只需要修改yml文件:

在这里插入图片描述
用逗号隔开,代表当前服务要注册到多个注册中心即可。

(3)重启:

记住千万千万记住启动顺序:
1:启动3个Eureka注册中心的Boot项目。
2:启动生产者。
3:启动消费者。

(4)测试:
由于我们是集群式注册中心,所以我们逐个访问注册中心,如果都有消费者与生产者,并且在守望着其他几个注册中心,那么就证明成功了。

一号注册中心:

在这里插入图片描述

二号注册中心:

在这里插入图片描述

三号注册中心

在这里插入图片描述

成功~!

猜你喜欢

转载自blog.csdn.net/whiteBearClimb/article/details/108638706