Eureka源码分析

Eureka源码分析

1 Eureka Server启动过程

image-20220506150253766

springboot应⽤启动时会加载EurekaServerAutoConfiguration⾃动配置类,

image-20220506150526308

先看头配置,如何注入Marker对象,在启动类中要有EnableEurekaServer注解

image-20220506151047451

image-20220506151138720

image-20220506151157448

接下来关注核心配置类EurekaServerAutoConfifiguration

image-20220506151507031

image-20220506152241135

在 com.netflflix.eureka.cluster.PeerEurekaNodes#start⽅法中,

image-20220506152714916

那么,在什么时间点调用PeerEurekaNodes#start,回到主配置类

image-20220506152820246

注入 DefaultEurekaServerContext上下文对象,

image-20220506153039935

回到主配置类中,

image-20220506154332104

关注头配置EurekaServerInitializerConfiguration

image-20220506154633050

image-20220506154753175

重点关注,进⼊

org.springframework.cloud.netflflix.eureka.server.EurekaServerBootstrap#contextInitialized

image-20220506155009124

image-20220506160848207

关注上图中的syncUp方法

image-20220506161248014

继续关注com.netflflix.eureka.registry.AbstractInstanceRegistry#register(提供实例注册功能)

image-20220506162105393

image-20220506162309247

继续关注com.netflflix.eureka.registry.PeerAwareInstanceRegistryImpl#openForTraffic

image-20220506162820313

2 Eureka Server服务接⼝暴露

image-20220507092952237

image-20220507093350497

扫描EUREKA_PACKAGES指定包

image-20220507093433904

对外提供的接⼝服务,在Jersey中叫做资源

image-20220507093642687

使⽤Jersey发布的供Eureka Client调⽤的Restful⻛格服务接⼝(完成服务注册、⼼跳续约等接口)

3 Eureka Server接收客户端注册请求

image-20220507095024983

image-20220507095141266

image-20220507095323595

AbstractInstanceRegistry#register():注册,实例信息存储到注册表是⼀个ConcurrentHashMap

4 Eureka Server接收客户端心跳请求

image-20220507095646797

image-20220507095838949

image-20220507095937842

image-20220507095954119

renew()⽅法中—>leaseToRenew.renew()—>对最后更新时间戳进⾏更新

5 Eureka Client注册服务

image-20220507101309803

image-20220507101447000

读取配置文件信息

image-20220507101628229

创建EurekaClient实例信息,从server获取服务实例信息

image-20220507102118160

image-20220507102311789

image-20220507102509799

image-20220507103125785

image-20220507103930308

image-20220507104047080

image-20220507104144801

image-20220507104545314

image-20220507105803164

image-20220507105835083

image-20220507110008947

image-20220507110123976

6 Eureka Client下架服务

image-20220507153719105

服务关闭时,会调用EurekaClient的shutdown方法

image-20220507153837633

image-20220507153918134

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值