Docs 菜单
Docs 主页
/
MongoDB Kafka Connector
/ /

Change Streams

在此页面上

  • Overview
  • Change Streams
  • 聚合(Aggregation)
  • 更改事件结构
  • 性能
  • 源连接器
  • 恢复令牌

在本指南中,您可以了解变更流及其在 MongoDB Kafka 源连接器中的使用方式。

变更流是 MongoDB 的一项功能,可让您接收数据更改的实时更新。变更流会返回变更事件文档

更改事件文档包含幂等指令,用于描述 MongoDB 部署中发生的更改以及与该更改相关的元数据。 更改事件文档是根据 oplog 中的数据生成的。

重要

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

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

要查看变更流的所有配置选项列表,请参阅变更流属性页面。

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

  • MongoDB 手册中的Change Streams

  • 变更流简介博客文章

要了解有关oplog的更多信息,请参阅MongoDB手册中有关副本集oplog的条目。

使用聚合管道配置源connector的变更流。 您可以将connector变更流配置为使用聚合管道来执行包括以下操作在内的任务:

  • 按操作类型筛选变更事件

  • 项目特定领域

  • 更新字段值

  • 添加字段

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

要了解您可以将哪些聚合操作符用于变更流,请参阅 MongoDB 手册中的修改变更流输出指南。

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

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

注意

完整文档选项

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

oplog 是一种特殊的固定大小集合,无法使用索引。 有关此限制的更多信息,请参阅Change Streams生产建议。

如果要提高变更流性能,请为MongoDB cluster使用更快的磁盘,并增加WiredTiger缓存的大小。 要了解如何设置WiredTiger缓存,请参阅WiredTiger storage engine指南 。

源连接器的工作原理是使用 MongoDB 打开单个 change stream 并将数据从该 change stream 发送到 Kafka Connect。您的源连接器在其运行期间维护其 change stream,并且当您停止运行时,您的连接器将关闭其 change stream。

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

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

如果您的源连接器没有偏移量,比如在您首次启动连接器时,连接器会启动新的变更流。连接器一旦收到首份变更事件文档并将该文档发布到 Apache Kafka 上,就会将该文档的恢复令牌作为偏移量进行存储。

如果源连接器偏移量的恢复令牌值与 MongoDB 部署的 oplog 中的任何条目都不对应,则连接器的恢复令牌无效。要了解如何从无效恢复令牌中恢复,请参阅无效令牌故障排除指南。

若要了解有关恢复令牌的详细信息,请参阅以下资源:

要了解有关偏移的更多信息,请参阅以下资源:

后退

Fundamentals