文档菜单
文档首页
/
MongoDB Kafka 连接器
/ /

更改流

本页内容

  • 概述
  • 更改流
  • 聚合
  • 更改事件结构
  • 性能
  • 源连接器
  • 恢复令牌

在本指南中,您可以了解 更改流 以及它们如何在 MongoDB Kafka 源连接器中使用。

变更流是MongoDB的一个功能,允许您实时接收数据变更更新。变更流返回 变更事件文档

变更事件文档包含幂等指令,用于描述在您的MongoDB部署中发生的变化以及与该变化相关的元数据。变更事件文档是从操作日志.

重要

变更流只能在MongoDB副本集和分片集群上运行

独立的MongoDB实例无法生成变更流。

要查看变更流的全部配置选项,请参阅变更流属性页面。

要了解更多关于变更流的信息,请参阅以下资源

  • 变更流 MongoDB手册中的内容

  • 变更流的简介博客文章

要了解更多关于操作日志的信息,请参阅MongoDB手册中关于 副本集操作日志 的条目。

使用聚合管道配置源连接器的变更流。您可以配置连接器变更流以使用聚合管道执行以下操作的任务

  • 根据操作类型过滤变更事件

  • 投影特定字段

  • 更新字段的值

  • 添加字段

  • 减少变更流生成的数据量

要了解可用于变更流的聚合运算符,请参阅MongoDB手册中关于 修改变更流输出 的指南。

要查看使用聚合管道修改变更流的示例,请参阅以下页面

查找变更事件文档的完整结构,包括所有字段的描述,请参阅MongoDB 手册。

注意

完整文档选项

如果您希望Kafka Connect只接收来自变更操作创建或修改的文档,请使用publish.full.document.only=true选项。有关更多信息,请参阅变更流属性页面。

oplog是一个特殊的 capped 集合,无法使用索引。有关此限制的更多信息,请参阅变更流生产推荐。

如果您想提高变更流性能,请为您的MongoDB集群使用更快的磁盘,并增加WiredTiger缓存的容量。有关如何设置WiredTiger缓存的指南,请参阅WiredTiger 存储引擎。

源连接器通过打开一个与MongoDB的单个更改流,并将该更改流中的数据发送到Kafka Connect来工作。您的源连接器在其运行期间保持其更改流,并在您停止它时关闭其更改流。

要查看配置源连接器更改流的可用选项,请参阅更改流属性页面。

您的连接器使用一个恢复令牌作为其偏移量。偏移量是您的连接器存储在Apache Kafka主题中的值,用于跟踪它已处理哪些源数据。您的连接器在需要从重启或崩溃中恢复时使用其偏移量值。恢复令牌是引用您MongoDB oplog中更改事件文档的_id字段的份数据。

如果您的源连接器没有偏移量,例如您第一次启动连接器时,您的连接器将启动一个新的更改流。一旦您的连接器接收到第一个更改事件文档并将其发布到Apache Kafka,您的连接器将存储该文档的恢复令牌作为其偏移量。

如果您的源连接器偏移量的恢复令牌值与MongoDB部署的oplog中的任何条目不对应,则您的连接器有一个无效的恢复令牌。有关如何从无效恢复令牌中恢复的说明,请参阅无效令牌故障排除指南

有关恢复令牌的更多信息,请参阅以下资源

有关偏移量的更多信息,请参阅以下资源

返回

基础