Eureka启动与注册同步流程

Posted by xdshent on August 11, 2021

Eureka启动流程

eureka- bootstrap

Eureka注册流程

eureka-register

Eureka服务拉取流程

eureka-fetch

Eureka发送心跳

仅仅是更新了一下lastUpdateTimestamp

eureka-renew

Eureka服务下线

eureka-cancel

bug

实际过期时间是duration * 2, 并不是设置的或默认的90s, 是180s

eureka-bug

时间补偿机制

在定时检查实例存活状态的时候会进行时间补偿, 以防止时钟偏斜或者GC造成的真实存活时间不准, 判断是否摘除某一实例的时候会加上这里计算的补偿时间

eureka-compensation

Eureka自我保护

每次客户端在发送心跳的时候都会累计近一分钟内的心跳次数, 在定时摘除实例的时候会判断上一分钟接收到的心跳次数是否大于预期, 如果不大于则认为可能目前网络状况不好, 不会摘除任何实例

预期值的计算如下: 实例个数 *(60/发送心跳间隔)*百分比(默认0.85)

eureka-self-preservation

Eureka集群复制

注册、心跳、下线都会触发同步到其他节点

eureka-cluster-replicate

整体流程

eureka-process