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就把所有的服务都剔除了,这样显然不太合理。所以,就有了自我保护机制 |