Spring Cloud-Eureka傻瓜式学习

没有服务注册中心之前,我们也可以进行服务间的调用,为什么还需要服务注册?

原因:主要是为了省事,当服务很多时,我们需要手动的去管理我们的代码,这样的管理是很麻烦的,我们需要一个公共组件去统一的管理服务,监控服务运行状态等等操作,来简化我们的工作。

Eureka

注册中心服务端(Eureka Server):

服务注册:

服务提供者启动时,会通过 Eureka Client 向 Eureka Server 注册信息,Eureka Server 会存储该服务的信息,Eureka Server 内部有二层缓存机制来维护整个注册表。

提供注册表:

服务消费者在调用服务时,如果 Eureka Client 没有缓存注册表的话,会从 Eureka Server 获取最新的注册表。Eureka Client客户端会优先从缓存中获取服务注册信息。

同步状态:

Eureka Client 通过注册、心跳机制和 Eureka Server 同步当前客户端的状态。若Eureka Server服务端(大量)90秒内未获取到Eureka Client客户端心跳,会自动进入保护机制,不再剔除客户端(少量的话剔除当前客户端操作)。

注册中心客户端(Eureka Client):

服务注册(Register):

服务的提供者,将自身注册到注册中心,服务提供者也是一个 Eureka Client。当 Eureka Client 向 Eureka Server 注册时,它提供自身的元数据,比如 IP、端口,运行状况指示符 URL,主页等等。

服务续约(Renew):

Eureka Client 会每隔 30 秒发送一次心跳来续约。通过续约来告知 Eureka Server 该 Eureka Client 运行正常,没有出现问题。默认情况下,如果 Eureka Server 在 90 秒内没有收到 Eureka Client 的续约,Server 端会将实例从其注册表中删除,此时间可配置,一般情况不建议更改。

服务剔除(Eviction):

当 Eureka Client 和 Eureka Server 不再有心跳时,Eureka Server 会将该服务实例从服务注册列表中删除,即服务剔除。

总之一句话来说:

Eureka Client会将自身的信息注册到Eureka Server,Eureka Server将注册的信息保存并等待Eureka Client进行拉取、更新和缓存Eureka Server的信息。

Eureka Server集群实现
集群的话我们尽量使用>=3服务器,此次学习使用俩个服务即可。

服务A:
1、引入POM文件
在这里插入图片描述

2、集群版Eureka服务端配置信息
在这里插入图片描述

若有三台服务器的话,1注册23,2注册13,3注册12。

3、监听配置文件

在这里插入图片描述

4、启动器配置

在这里插入图片描述

服务B:

步骤和服务A一样,其中配置文件修改如下:
在这里插入图片描述

5、集群版注册中心服务端如下:

在这里插入图片描述

Eureka Client集群实现

1、引入POM文件

在这里插入图片描述

2、集群版Eureka客户端配置信息

在这里插入图片描述

3、启动器配置

在这里插入图片描述

4、集群版注册中心如下:

在这里插入图片描述

代码验证:

备注:虽然我们是使用RestTemplate访问的微服务,但是也可以负载均衡的(Eureka通过HTTP访问)可以通过微服务名称,去Eureka中拿地址,达到负载均衡的效果。

在这里插入图片描述在这里插入图片描述在这里插入图片描述

访问接口返回结果:

图片

Eureka 服务发现

通过代码获取Eureka Server的全部服务信息:

在这里插入图片描述

启动器配置(需要配置服务发现注解):
在这里插入图片描述

补充一下前面我们所讲的Eurekak Client心跳检测与续约时间的配置(一般默认即可):

图片

目前Erueka在官网已经停止更新,但是其中的思路还是很值得我们借鉴的。后续可以使用zk、Nacos作为注册中心!

其中的截图是我的微信公众账号名:小鱼说编程。大家感兴趣的话可以去看看!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胤墨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值