Debezium Mongodb Connector 增量快照使用
本文中使用的 MongodbSourceConnector
是 io.debezium.connector.mongodb.MongoDbConnector 2.2.1.Final
。
机制简介 #
为了提供管理快照的灵活性,Debezium 包含一个补充快照机制,称为增量快照。增量快照依赖于 Debezium 机制向 Debezium 连接器发送信号。‼️ 增量快照运行时,不会阻塞变更流事件处理。
初始快照会先保存 change stream 的位点,开始执行全量快照,全量快照完成后,再从保存的位点开始增量处理变更事件。
目前 Debezium 支持增量快照的连接器有:
- Db2
- MariaDB (Technology Preview)
- MongoDB
- MySQL
- Oracle
- PostgreSQL
- SQL Server
发送这个信号支持多种方式,通过配置 signal.enabled.channels
来指定,默认为 source
(也就是数据集合方式),可选值有:source、kafka、file 和 jmx:
- source 源数据库: 配置
signal.data.collection
来指定集合 - kafka: 配置
signal.kafka.topic
来指定 topic - file: 配置
signal.file
来指定文件路径,写入文件的格式数据为 JSON,字段取值参考下面的表格。 - jmx: 启用
JMX MBean Server
来暴露 signaling bean
需要启用增量快照时,只需要向特定方式中写入数据即可。如果是 source 只需要向数据库中插入一条数据,如果是 kafka 那么则是投递一条消息。
...