Source Connector

Debezium Mongodb Connector 增量快照使用

之前的博客 Kafka Connect Mongodb 反复快照 - 大数据集快照

本文中使用的 MongodbSourceConnectorio.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 那么则是投递一条消息。

...

访问量 访客数