canal 启动介绍(2)

作者: 晴天哥_王志 | 来源:发表于2018-04-11 18:39 被阅读0次

系列

canal 组件介绍(1)

canal 启动介绍(2)

canal 数据消费介绍(3)

canal 高可用介绍(4)

canal源码解析(2)—位点的实现

概述    

    本篇主要是为了讲清楚canal是如何启动的,从文章内容结构来说主要分为流程图、时序图、核心源码三大块。理解一个东西宏观上一定要理清楚层次,然后细节再去追求融会贯通。希望你们会喜欢。

canal启动流程图

canal启动流程图

说明:

    整个canal的启动过程过程其实大的分为3个过程,分别入口的main函数启动,配置的加载,服务的启动。main的函数启动就没说可以说的,基本上就一个启动入口,着重讲讲配置的加载。

    配置的加载,canal的配置主要分为全局配置和实例配置,全局配置就是启动canal需要的配置,实例配置就是启动Instance需要的配置,这个可以参考后面给出的canal配置章节。

    启动过程,启动过程从宏观层面来说应该包括 启动embededCanalServer、启动CanalServerWithNetty,启动Instance服务。如果在这个基础上再考虑的话还需要考虑Instance层面的HA监控和配置变更监控,以及Server的HA监控。

canal启动时序图

canal启动时序图

说明

    canal启动的时序图其实是对canal的流程图进行了细分,其实总体来看也是两大块,配置的加载,服务的启动。

    配置的加载包括:全局配置的加载、instance配置的加载、创建embededCanalServer和CanalServerWithNetty实例、创建server的对应monitor对象(用于HA)、autoscan的监控、创建zkClient实例。

    服务启动包括:注册自身节点到zk节点、订阅zk节点信息、启动embededCanalServer实例、启动CanalServerWithNetty实例、启动instance服务(包括metaManager、alarmHandler、eventStore、eventSink、eventParser)、启动instance配置监听、启动instance config配置监听。

canal 启动源码解析

配置加载

配置加载-1 配置加载-2

服务启动

服务启动-1 服务启动-2

canal配置文件

canal配置文件目录

canal配置

说明

    canal的配置主要分为3大块,分别是canal的全局配置canal.properties、instance的配置instance.properties、以及instance的spring的配置file-instance.xml。

canal全局配置

canal全局配置

说明

    canal的全局配置,基本上可以看到一些全局的配置。

canal的instance配置

canal的instance配置

说明

    canal的instance配置是指连接mysql的实例的配置,这个大家仔细看就能看懂。

canal-instance-sprint实例配置

instance-spring配置

说明

    spring配置其实是用于构建spring-factory用于创建instance实例使用的,从上图就可以看出来。可以看到canal的instance各个组件包括eventParser、eventSink、eventStore、metaManager。

相关文章

  • canal 高可用介绍(4)

    系列 canal 组件介绍(1) canal 启动介绍(2) canal 数据消费介绍(3) canal 高可用介...

  • canal 启动介绍(2)

    系列 canal 组件介绍(1) canal 启动介绍(2) canal 数据消费介绍(3) canal 高可用介...

  • canal 数据消费介绍(3)

    系列 canal 组件介绍(1) canal 启动介绍(2) canal 数据消费介绍(3) canal 高可用介...

  • canal 组件介绍(1)

    系列 canal 组件介绍(1) canal 启动介绍(2) canal 数据消费介绍(3) canal 高可用介...

  • canal源码解析之canal.deployer

    canal源码的启动类查找想要知道canal的启动类 只需看一下自带的启动脚本。下载到canal.deployer...

  • Canal Server启动过程

    CanalLauncher (Canal独立版本启动的入口类) CanalStart (Canal Server启...

  • canal源码解析之canal.common

    canal启动的时候第二个启动的类是 CanalAlarmHandler 是canal的alarm报警机制。 Ca...

  • java操作canal

    一、导包: 二、配置文件 三、canal实例化类 四、canal调度类 五、启动类

  • Canal 介绍

    canal 作用 canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅...

  • docker安装canal

    首先拉取canal 启动canal 将容器内部配置文件拷贝到外部docker cp [容器索引]:[内部路径] [...

网友评论

    本文标题:canal 启动介绍(2)

    本文链接:https://www.haomeiwen.com/subject/gbjghftx.html