栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Spring Cloud-Eureka学习

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作为注册中心!

欢迎大家关注我的微信公众号!小鱼说编程

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/653713.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号