從Canal的總體架構中,咱們能夠看出,在Canal中,比較重要的一些領域有Parser、Sink、Store、MetaManager、CanalServer、CanalInstance、CanalClient、Connection等等。下面咱們仔細分析下Canal的領域模型。sql
核心是AbstractEventParser,主要幹活的是MysqlEventParser。架構
這個過程是對binlog進行歸併、過濾的操做,根據傳入的filter進行一些數據處理,主要核心的類是EntryEventSink。3d
這塊目前是寫到內存隊列中,核心類是MemoryEventStoreWithBuffer。blog
這部分是進行源數據的管理工做,默認經過內存+zk的形式,也就是PeriodMixedMetaManager。隊列
Canal Server核心。內存
Canal實例,真正幹活的。it
客戶端,咱們須要重點關注的是ClusterCanalConnector。io