一、源码分析背景和目标
版本
- 1.0.1
背景
- 由于leaf对第三方的依赖很少,segment模式下依赖mysql,这里对技术选型不做分析
- 双活的实现要求我们对这个中间件有充分的了解
目标
- 接手seq-service后,对代码逻辑流程进行熟悉
- 了解segment生成的时机和逻辑,方便在以后遇到问题时快速的在对应环境找原因
- 了解步长的自动伸缩机制,方便在实际项目中观察到步长变化时判断是否会造成问题
- 对其监控的可行性及方案
二、相对前端说明
leaf是一个独立的web服务,所以他的调用方都是其他服务
调用方式是发起http请求
三、主体流程分析
leaf的运作周期很简单,核心只有get()方法,get的时候会进行初始化的懒加载(updateSegmentFromDb()),然后就是根据步长进行获取。
segment使用到达一定比例时会触发下一个segment的生成(这就是美团之前进行的双buffer优化)
主逻辑都体现在下面的流程图中
四、代码片段分析
(代码片段暂未补充)
Comments are closed, but trackbacks and pingbacks are open.