【Canal源码分析】重要类图

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

一、Parser

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

EventParser.png

二、Sink

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

EventSink.png

三、Store

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

EventStore.png

四、MetaManager

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

MetaManager.png

五、CanalServer

Canal Server核心。

CanalServer.png

六、CanalInstance

Canal实例,真正干活的。

CanalInstance.png

七、CanalClient

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

CanalConnector.png

posted @ 2018-05-31 10:52  飞轩  阅读(561)  评论(0编辑  收藏  举报