对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

Atlas Stream Processing 限制

注意

本页面同时适用于 Atlas Infinite 和 Atlas Core。

以下限制适用于 Atlas Stream Processing:

  • Atlas Stream Processing仅支持 at-least- 处理。

  • Atlas Stream Processing不支持水平扩展。

  • Atlas Stream Processing 为转换管道阶段使用单核,但可以指定 parallelism 值的阶段除外。

  • 当您启用 垂直自动扩展 时,必须在处理器上或作为 Stream Processing 工作区域最大层级大小设置 maxTier。如果两者都未设置,处理器将返回错误,并且不会启动。

  • 您无法配置 trigger 垂直自动缩放的 CPU 和内存阈值。Atlas Stream Processing 在内部管理这些阈值。

  • 流处理器的 state.stateSize 不能超过其 Pod 可用RAM的 80%。示例,具有 8 GB RAM 的 SP30 层级中的流处理器的最大大小为 6.4 GB。如果任何流处理器的 state.stateSize 接近其可用RAM的 80%,请考虑停止该处理器并在更层级上重新启动。如果流处理器已在为流处理工作区启用的最大层级上运行,请考虑调整流处理工作区配置以启用更高层级的流处理器。

    当流处理器超过 80% RAM 阈值时,会因 Worker out of memory 错误而失败。您可以使用 sp.processor.stats() 命令查看每个流处理器的 state.stateSize 值。请参阅查看流处理器的统计信息以了解更多信息。

  • Atlas Stream Processing 管道定义不能超过16 MB。

  • Only users with the Organization Stream Processing Admin, Project Owner, Project Stream Processing Owner or Atlas admin roles can use Atlas Stream Processing.

  • You must use mongosh version 2.3.4 or later to override an option on an existing stream processor using a mongosh method. For example, using sp.processor.start() to specify a tier for the processor you are starting.

    请参阅开发流处理器以了解更多关于如何使用mongosh.管理流处理器的信息。

  • Atlas Stream Processing 支持 Atlas 中可用的聚合管道阶段的子集,允许您对流媒体数据执行许多与静态数据相同的操作。有关支持的聚合管道阶段的完整列表,请参阅 Stream Aggregation 文档。

  • Atlas Stream Processing 不支持聚合变量 $$NOW、$$CLUSTER_TIME、$$USER_ROLES和$SEARCH_META。

  • Atlas Stream Processing 不支持使用 $emit 阶段将大于 125 MB 的 BSON 文档写入 Amazon Web Services S3 存储桶。

  • $iceberg 阶段在 partitionedBy 字段中最多支持三个分区转换。

  • 对于 Apache Kafka $source 阶段,如果作为运行处理器的 Apache Kafka $source 主题添加了分区,则启动偏移量由 auto_offset_reset 属性确定。

  • 对于 Apache Kafka $source 阶段,受 Stream Processing 工作区层级分区限制。如果您超过了 Stream Processing 工作区层级的分区限制,受影响的流处理器将失败。您必须升级您的 Stream Processing 工作区以支持更多分区。

  • Atlas Stream Processing 不支持连接到与其他消费者在同一消费组中的 Apache Kafka 消费者。确保与 Atlas Stream Processing 一起使用的任何 Kafka 消费者都在专用消费组中运行。

  • 对于Apache Kafka连接, Atlas Stream Processing目前仅支持以下安全协议:

    • SASL_PLAINTEXT

    • SASL_SSL

    • SSL

    对于SASL ,Atlas Stream Processing 支持以下机制:

    • PLAIN

    • SCRAM-SHA-256

    • SCRAM-SHA-512

    • OAUTHBEARER

    SSL对于 ,您必须提供以下资产,以便使用Atlas Stream Processing进行Apache Kafka系统双向 TLS身份验证:

    • a 证书颁发机构(如果您使用的是默认 Apache Kafka CA 以外的 CA)

    • 客户端TLS 证书

    • TLS 密钥文件,用于签署 TLS 证书

  • initialSync doesn't support collections whose _id values are arrays, regular expressions, or undefined, which MongoDB doesn't support as _id values.

  • If your collection's _id values are default generated ObjectId values or ordered int or long values, initialSync achieves optimal performance. For other _id types, initialSync might take longer to complete because the values aren't stored in a predictable order. If the resume token is no longer on the oplog when initialSync completes, the processor enters a failed state to prevent data loss. To recover, restart the processor with resumeFromCheckpoint=false, which causes initialSync to run again. To learn more, see Checkpoints.

  • Atlas Stream Processing 可以在 initialSync 复制分区时将新文档插入分区。在增长的分区上中断查询的网络故障会延长集合复制阶段。

  • initialSync 如果在集合复制或追赶阶段读取更改事件,可能会插入重复的文档。Atlas Stream Processing 的至少一次处理 ACID 一致性保证覆盖了此行为。当集合的 _id 值不是 ObjectId 值或有序的 int 或 long 值时,更容易出现重复项,因为集合复制阶段运行时间更长,并跨越更多的更改事件。

  • Atlas Stream Processing 仅支持具有以下配置的处理器的故障转移处理器:

  • Atlas Stream Processing 仅支持层级 层级 SP10 或更高的处理器的故障转移处理器。

  • Stream Processing 工作区域可以有最多两个故障转移区域。故障转移区域必须使用与 Stream Processing 工作区的默认区域相同的云提供商。Atlas Stream Processing 不支持跨云故障转移。

  • 对于配置了故障转移处理器的处理器,在任何给定时间只能有一个处理器处于活动状态。您只能编辑活动处理器。