Spring Cloud Eureka源码分析(一) : 起步

1.SpringCloud Eureka是什么

请看我之前发的一篇文章
《SpringCloud Eureka教程》

这里注重源码解析,就不说了

2.解析流程

1.环境搭建
2.Eureka server端源码分析
3.Eureka client端源码分析
4.服务续约源码分析
5.服务注册源码分析
6.Eureka Server端jersey接口源码分析

3.环境搭建

git clone https://gitee.com/xl2333/cxl-cloud-cli.git

clone下来后,导入进IDEA
在这里插入图片描述

4.测试能否查看到源码

点击三下 shift 输入EurekaServerAutoConfiguration
在这里插入图片描述
回车,点击进去,能看到代码,说明环境下载成功
在这里插入图片描述

5.Eureka核心知识点

名称 介绍
服务注册 (register) Eureka Client会通过发送REST请求的方式向Eureka Server注册自己的服务
服务续约 (renew) Eureka Client会维护一个心跳来持续通知Eureka Server,说明服务一直处于可用状态,防止被剔除
服务同步(replicate) Eureka Server之间会互相进行注册,构建Eureka Server集群,不同Eureka Server之间会进行服务同步,用来保证服务信息的一致性。
获取服务(get registry) 服务消费者(Eureka Client)在启动的时候,会发送一个REST请求给Eureka Server,获取上面注册的服务清单,并且缓存在Eureka Client本
服务调用 服务消费者在获取到服务清单后,就可以根据清单中的服务列表信息,查找到其他服务的地址,从而进行远程调用。
服务下线(cancel) 当Eureka Client需要关闭或重启时,就不希望在这个时间段内再有请求进来,所以,就需要提前先发送REST请求给Eureka Server,告诉Eureka Server自己要下线了,Eureka Server在收到请求后,就会把该服务状态置为下线(DOWN),并把该下线事件传播出去。
服务剔除(evict)) 有时候,服务实例可能会因为网络故障等原因导致不能提供服务,而此时该实例也没有发送请求给Eureka Server来进行服务下线,所以,还需要有服务剔除的机制。
自我保护 既然Eureka Server会定时剔除超时没有续约的服务,那就有可能出现一种场景,网络一段时间内发生了异常,所有的服务都没能够进行续约,Eureka Server就把所有的服务都剔除了,这样显然不太合理。所以,就有了自我保护机制
发布了240 篇原创文章 · 获赞 66 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/u014131617/article/details/103888725