解决方案构想
本文是一种解决方案构想。 如果你希望我们在内容中扩充更多信息,例如潜在用例、备用服务、实现注意事项或定价指南,请通过提供 GitHub 反馈来告知我们。
本文介绍虚拟网络中无服务器事件驱动的体系结构,该体系结构引入并处理数据流,然后将结果写入数据库。
体系结构
数据流
- VNet 集成用于将所有 Azure 资源放在 Azure 专用终结点后面。
- 事件到达输入事件中心。
- 触发“取消批处理和筛选”Azure 函数以处理事件。 此步骤会筛选掉不需要的事件,并对收到的事件取消批处理,然后再将其提交到输出事件中心。
- 如果“取消批处理和筛选”Azure 函数无法成功存储事件,则会将事件提交到死信事件中心 1。
- 到达输出事件中心的事件会触发“转换”Azure 函数。 此 Azure 函数将事件转换为适用于 Azure Cosmos DB 实例的消息。
- 该事件将存储在 Azure Cosmos DB 数据库中。
- 如果“转换”Azure 函数无法成功存储事件,该事件将保存到死信事件中心 2。
注意
为简单起见,图中未显示子网。
组件
- Azure 专用终结点是一种网络接口,你可通过该接口私密安全地连接到由 Azure 专用链接提供支持的服务。 专用终结点使用 VNet 中的专用 IP 地址将服务有效地引入 VNet 中。
- 事件中心引入数据流。 事件中心面向高吞吐量数据流方案。
- Azure Functions 是一个无服务器计算选项。 它使用事件驱动的模型,其中的一段代码(“函数”)由触发器调用。
- Azure Cosmos DB 是一个多模型数据库服务,可在基于消耗的无服务器模式下使用。 对于此方案,事件处理函数将使用 Azure Cosmos DB for NoSQL 存储 JSON 记录。
方案详细信息
本解决方案理念演示了一个可以引入数据流、处理数据,并将结果写入后端数据库的事件驱动式无服务器体系结构的变体。 在此示例中,解决方案托管在虚拟网络内,其中所有 Azure 资源都位于专用终结点后面。
若要详细了解有关无服务器事件处理的基本概念、注意事项和方法,请参阅无服务器事件处理参考体系结构。
可能的用例
实现端到端事件流处理模式的一个常用用例包括事件中心流式引入服务,以便使用通过高度可缩放的、事件中心触发的函数实现的取消批处理和转换逻辑来按秒接收并处理事件。
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
主要作者:
- Rajasa Savant | 高级软件开发工程师
若要查看非公开领英个人资料,请登录领英。
后续步骤
- 管理专用终结点连接
- 专用终结点快速入门指南:
- Azure 事件中心文档
- Azure Functions 简介
- Azure Functions 文档
- Azure Cosmos DB 概述
- 在 Azure Cosmos DB 中选择 API
相关资源
- 无服务器事件处理是一个参考体系结构,详细说明了此类型的典型体系结构,其中包含代码示例和重要注意事项的讨论。
- 监视无服务器事件处理提供了有关监视事件驱动式无服务器体系结构(如本体系结构)的概述和指南。
- 使用事件中心在无服务器事件处理中取消批处理并筛选更详细地介绍了该体系结构的这些部分的工作原理。
- 事件流处理中的 Azure Kubernetes 介绍了在带有 KEDA 缩放程序的 Azure Kubernetes 上运行的事件驱动式无服务器体系结构的变体。