今天,我们很高兴地宣布 Atlas Stream Processing 现已推出公共预览版。公共预览版向任何有兴趣尝试的 Atlas 开发者开放 - 了解更多信息,请查阅我们的 Docs 或立即开始。
开发者喜欢文档模型和查询 API 的灵活性和易用性,这使他们能够像编写代码一样处理数据。 通过 Atlas Stream Processing,我们将这些相同的基本原则引入流处理中。首次在 .local 上发布2023 年,纽约市,Atlas Stream Processing 正在重新定义聚合和丰富快速变化的高速事件数据流的体验,并统一如何处理动态和静态数据。
到目前为止,开发者使用该产品的情况如何?我们吸取了什么样的经验教训?
在私有预览阶段,有数千个开发团队请求访问,并且我们从数百个参与团队收集了有用的反馈。使用案例包括:
-
一家全球领先的航空公司使用复杂的聚合,快速处理维护和运营数据,确保为其数千名日常客户提供准点航班,
-
一家大型能源设备制造商使用 Atlas Stream Processing,连续监控大容量泵数据,以避免停机并优化产量,以及
-
一家创新型企业 SaaS 提供商,利用 Atlas Stream Processing 丰富的处理功能,提供及时且上下文相关的产品内警报,推动提高产品参与度。
这些只是各行各业中 Atlas Stream Processing 众多使用案例的一小部分。除了我们已看到的使用案例之外,开发者还向我们提供了大量的见解,了解他们希望将来在 Atlas Stream Processing 中添加的内容。
除了支持通过 change stream 对 Atlas 数据库中的数据进行持续处理外,开发者可使用 Atlas Stream Processing 处理由 Confluent、Amazon MSK、Azure Event Hubs 和 Redpanda 等重要合作伙伴托管的 Kafka 数据,此功能也非常强大。我们开发者数据平台功能的目标始终是为开发者所依赖的关键技术提供更好的体验。
公开预览版中有哪些新内容?
这给我们带来了新功能。随着我们扩展到更多团队,我们正在扩展功能以包含在私有预览版中收集的最受欢迎的反馈。从收到的许多反馈中,我们发现了三个共同主题:
-
优化开发者体验
-
扩展高级特性和功能,以及
-
改善运行和安全
优化开发者体验
在私有预览版中,我们建立了开发者体验的核心,这对于使 Atlas Stream Processing 成为开发团队的自然解决方案至关重要。在公共预览版中,我们额外加入 2 项增强功能来进行改进:
-
VS Code 集成
MongoDB VS Code 插件添加了对连接流处理实例的支持。对于已经使用该插件的开发者来说,这允许团队在熟悉的开发环境中创建和托管处理器。减少在不同工具间切换的时间,将更多时间用于构建应用程序! -
改进了死信队列 (DLQ) 功能
DLQ 支持是强大流处理的关键要素,在公共预览版中,我们正在扩展 Atlas Stream Processing 中的 DLQ 功能。现在,当使用 sp.process() 执行管道以及在运行中的处理器上运行 .sample() 时,死信队列消息将自行显示,从而提供更简化的开发体验,无需设置目标集合来充当 DLQ。
扩展高级特性和功能
Atlas Stream Processing 在用于静态数据的查询 API 中已经支持开发者熟悉的许多关键聚合操作符,并添加了强大的窗口功能以及轻松合并和发送数据到 Atlas 数据库或 Kafka 主题的能力。公共预览版将添加最先进团队所需的更多功能,依靠流处理来提供客户体验:
-
$查找
开发者现在可以使用远程 Atlas 集群的数据丰富流处理器中正在处理的文档,对文档和目标集合的字段执行连接。 -
Change stream 前映像和后映像
许多开发者正在使用 Atlas Stream Processing 通过 change stream 持续处理 Atlas 数据库的数据作为源。我们在公共预览版中增强了 change stream $source,支持前映像和后映像。这使得开发者需要计算文档中字段之间的增量的常见使用案例以及需要访问已删除文档全部内容的使用案例成为可能。 -
在合并和发送阶段使用动态表达式进行条件路由
条件路由允许开发者使用 Atlas Stream Processing 中正在处理的文档的字段值,动态地将特定消息发送到不同的 Atlas 集合或 Kafka 主题。$merge 和 $emit 阶段现在也支持使用动态表达式。 这样就可以将查询 API 用于能够按需将消息分叉到不同集合或主题的使用案例。 -
空闲流超时
由于缺乏入站数据而没有推进水印的数据流,现在可以配置为在一段时间后关闭,并发出窗口结果。 这对于数据流不一致的流媒体源来说至关重要。
改善运行和安全
最后,我们在过去几个月中投入了大量资金来改进 Atlas Stream Processing 的其他操作和安全方面。其中一些亮点包括:
-
检查点
Atlas Stream Processing 现在执行检查点以在处理时保存状态。流处理器是连续运行的进程,因此无论是由于数据问题还是基础设施故障,它们都需要智能恢复机制。通过检查点,可以轻松地从停止收集和处理数据的位置恢复流处理器。 -
Terraform 提供商支持
Terraform 现在支持创建连接和流处理实例 (SPI)。这允许将基础设施编写为可重复部署的代码。 -
安全角色
Atlas Stream Processing 添加了项目级角色,为用户提供了执行流处理任务所需的足够权限。流处理器可以在特定角色的上下文中运行,支持最小权限原则配置。 -
Kafka 客户群组支持
Atlas Stream Processing 的流处理器现在使用 Kafka 客户群组进行偏移跟踪。因此,用户可以轻松更改处理器在操作流中的位置,并轻松监控潜在的处理器延迟。
关于新功能的最后一点是,在公共预览版中,我们将开始使用促销定价对 Atlas Stream Processing 进行收费,直到我们正式发布为止。有关 Atlas Stream Processing 定价的更多信息,请参阅我们的文档。
立即构建您的首个流处理器
公共预览版对我们来说是向前迈出的一大步,因为我们扩展了开发者数据平台,并为更多团队提供了流处理解决方案,该解决方案简化了构建反应式、响应式、事件驱动型应用程序的操作复杂性,同时还改善了开发者体验。
未来可期,我们携手见证!
立即登录以开始使用,或在我们的文档、资源、教程或 MongoDB University 上的 Learning Byte 中了解有关 Atlas Stream Processing 的更多信息。