【Canal源码分析】重要类图

时间:2024-11-08 16:06:17

从Canal的整体架构中,我们可以看出,在Canal中,比较重要的一些领域有Parser、Sink、Store、MetaManager、CanalServer、CanalInstance、CanalClient、Connection等等。下面我们仔细分析下Canal的领域模型。

一、Parser

核心是AbstractEventParser,主要干活的是MysqlEventParser。

【Canal源码分析】重要类图

二、Sink

这个过程是对binlog进行归并、过滤的操作,根据传入的filter进行一些数据处理,主要核心的类是EntryEventSink。

【Canal源码分析】重要类图

三、Store

这块目前是写到内存队列中,核心类是MemoryEventStoreWithBuffer。

【Canal源码分析】重要类图

四、MetaManager

这部分是进行源数据的管理工作,默认通过内存+zk的形式,也就是PeriodMixedMetaManager。

【Canal源码分析】重要类图

五、CanalServer

Canal Server核心。

【Canal源码分析】重要类图

六、CanalInstance

Canal实例,真正干活的。

【Canal源码分析】重要类图

七、CanalClient

客户端,我们需要重点关注的是ClusterCanalConnector。

【Canal源码分析】重要类图