【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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容