你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

具有专用终结点的 VNet 中的无服务器事件流处理

Azure 专用链接
Azure 事件中心
Azure Functions
Azure Cosmos DB

解决方案构想

本文是一种解决方案构想。 如果你希望我们在内容中扩充更多信息,例如潜在用例、备用服务、实现注意事项或定价指南,请通过提供 GitHub 反馈来告知我们。

本文介绍虚拟网络中无服务器事件驱动的体系结构,该体系结构引入并处理数据流,然后将结果写入数据库。

体系结构

显示流入 VNet 然后由本文中描述的体系结构处理的数据的图表。

数据流

  1. VNet 集成用于将所有 Azure 资源放在 Azure 专用终结点后面。
  2. 事件到达输入事件中心。
  3. 触发“取消批处理和筛选”Azure 函数以处理事件。 此步骤会筛选掉不需要的事件,并对收到的事件取消批处理,然后再将其提交到输出事件中心。
  4. 如果“取消批处理和筛选”Azure 函数无法成功存储事件,则会将事件提交到死信事件中心 1。
  5. 到达输出事件中心的事件会触发“转换”Azure 函数。 此 Azure 函数将事件转换为适用于 Azure Cosmos DB 实例的消息。
  6. 该事件将存储在 Azure Cosmos DB 数据库中。
  7. 如果“转换”Azure 函数无法成功存储事件,该事件将保存到死信事件中心 2。

注意

为简单起见,图中未显示子网。

组件

  • Azure 专用终结点是一种网络接口,你可通过该接口私密安全地连接到由 Azure 专用链接提供支持的服务。 专用终结点使用 VNet 中的专用 IP 地址将服务有效地引入 VNet 中。
  • 事件中心引入数据流。 事件中心面向高吞吐量数据流方案。
  • Azure Functions 是一个无服务器计算选项。 它使用事件驱动的模型,其中的一段代码(“函数”)由触发器调用。
  • Azure Cosmos DB 是一个多模型数据库服务,可在基于消耗的无服务器模式下使用。 对于此方案,事件处理函数将使用 Azure Cosmos DB for NoSQL 存储 JSON 记录。

方案详细信息

本解决方案理念演示了一个可以引入数据流、处理数据,并将结果写入后端数据库的事件驱动式无服务器体系结构的变体。 在此示例中,解决方案托管在虚拟网络内,其中所有 Azure 资源都位于专用终结点后面。

若要详细了解有关无服务器事件处理的基本概念、注意事项和方法,请参阅无服务器事件处理参考体系结构。

可能的用例

实现端到端事件流处理模式的一个常用用例包括事件中心流式引入服务,以便使用通过高度可缩放的、事件中心触发的函数实现的取消批处理和转换逻辑来按秒接收并处理事件。

作者

本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。

主要作者:

若要查看非公开领英个人资料,请登录领英。

后续步骤