
1. 概述
1.1 版本
FineDataLink版本 | 功能变动 |
---|---|
4.2.4.3 | - |
1.2 应用场景
当多个实时任务、管道任务对同一个数据库的不同表进行实时同步时,会重复解析数据库的日志,会导致数据库压力过大,特别是在实时任务场景下,不同表会在不同实时任务中处理,就很容易导致日志被解析多次。
有了实时采集任务,可以对数据库日志解析进行管理,存储日志解析产生的变更数据,实时任务、管道任务能够消费实时数据共享中心的数据。
2. 功能说明
2.1 功能界面
创建管道或者实时任务后,在此界面即可自动新增任务相关信息,不需要用户手动新增。
配置 | 说明 |
---|---|
缓存配置 | FineDataLink 支持使用 Kafka 作为实时同步(管道任务和实时任务)的中间件,暂存来源数据库中的数据,可以对数据库日志解析进行管理,存储日志解析产生的变更数据。 |
搜索任务 | 可以根据「任务名称」、「连接名称」、「解析表」分类进行搜索 |
任务管理 | 当一个实时采集任务中所有表的CDC数据收集都被删除时,会自动暂停该实时采集任务,对于暂停的任务,用户可以手动删除任务 |
任务状态 |
|
名称 | 任务名称 |
数据连接 | 显示实时采集任务使用的数据连接名称 |
读取方式 | 读取数据库日志的当时,例如 MySQL 就是 binlog 方式 |
最新解析时间 | 取最新进入到传输队列的 CDC 数据的数据库时间 |
创建时间 | 该实时采集任务创建的时间 即第一个实时同步该数据库的任务(管道、实时),在初次运行时创建该任务的时间 |
解析中的表 | 该实时采集任务正在收集哪些表的CDC数据 其中「管道任务」和「实时任务」会分开展示,详情参见第三章的操作 |
运行日志 | 该实时采集任务的运行日志,详情参见:实时任务运行日志介绍 |
2.2 任务运行流程说明
1)所有实时/管道任务的 CDC 输入,都默认走实时数据采集任务。
2)实时采集任务不需要用户手动操作,一切都基于实时、管道任务的功能逻辑自动化处理。
分类 | 说明 |
---|---|
新建、删除 | 实时数据共享中心的实时采集任务都是自动创建 新建一个新的数据连接的实时、管道任务,自动在实时数据共享中心创建对应的实时采集任务 |
实时数据共享中心的实时采集任务中的表会自动暂停
| |
一个数据连接的不同的读取方式有且只有一个实时采集任务 同一个数据连接创建的任务用到的数据表都展示在一个实时采集任务下
| |
执行 | 1)实时采集任务的运行状态是由依赖它的所有管道、实时任务共同决定的 当使用该表实时采集任务的所有管道、实时任务都暂停时,该表的日志解析也暂停 2)实时采集任务中表的异常情况都在实时、管道任务中体现 当实时采集任务中表运行错误、异常删除时,依赖该实时采集任务的实时任务报错中止,管道任务移除异常表的同步,正常的表照常同步,当管道任务中所有表都异常时,管道任务才整体报错 比如解析相应时间点的日志时,如果相应时间点的日志丢失,则实时采集任务报错中止、依赖该实时采集任务的任务也报错 3)当新建的实时、管道任务的启动时间早于实时数据共享中心的数据最早的数据时,会自动补齐数据 |
3)实时、管道任务运行的断点时间不能早于实时数据共享中心的时间,可以晚于实时数据共享中心的时间。
4)实时采集任务将数据库中所有CDC数据都写入到实时数据共享中心,由各个业务决定使用哪一类数据。比如对于 DDL 的数据,数据管道会进行使用,实时任务暂时没有使用 DDL 的功能。
注:实时采集任务暂不支持脏数据容忍,遇到脏数据时,先走重试逻辑,重试失败后,则实时采集任务报错中止。
对实时、管道任务运行逻辑的变动:
重试逻辑:管道、实时任务的重试不控制与 CDC 数据源的重试,只控制管道和实时数据共享中心连接的重试和其输出端的重试。
删除表情况:实时任务需要基于删除的 ddl 事件,报错中止、打印相应报错日志,并触发相应的结果通知。
自定义同步时间:在实时、管道任务中同步方式选择「自定义时间」时,可以设置「数据库日志最早时间」和「共享中心最早时间」中的最早时间;管道任务中需要取「当前任务的所有表各自的最早时间」中的最晚时间。
恢复启动:当实时、管道任务恢复启动时,如果实时数据共享中心中最早的数据晚于断点时间,任务报错中止。