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

Azure 事件网格用例

本文提供了一些使用 Azure 事件网格的示例用例。

注意

如果不熟悉 Azure 事件网格,请先阅读 Azure 事件网格概述一文,然后再继续操作。

MQTT 消息传送用例

借助 Azure 事件网格的 MQTT 代理功能,可以实现以下方案。

引入 IoT 遥测数据

事件网格的概要示意图,其中显示了 IoT 客户端使用 MQTT 协议向云应用发送消息。

使用多对一消息传递模式引入遥测数据。 例如,使用事件网格将来自多个 IoT 设备的遥测数据发送到云应用程序。 此模式使应用程序能够将大量设备连接的管理工作负担分散到事件网格。

命令和控制

事件网格的概要示意图,其中显示了云应用程序使用请求和响应主题通过 MQTT 向设备发送命令消息。

使用请求-响应(一对一)消息模式控制 MQTT 客户端。 例如,使用事件网格将来自云应用程序的命令发送到 IoT 设备。

广播警报

事件网格的概要示意图,其中显示了云应用程序通过 MQTT 向多个设备发送警报消息。

使用一对多消息传递模式向客户端群广播警报。 例如,使用事件网格将来自云应用程序的警报发送到多个 IoT 设备。 此模式使应用程序能够仅发布一条消息,服务将为每个相关客户端复制该消息。

集成 MQTT 数据

显示通过 MQTT 向事件网格发送运行状况数据的多个 IoT 设备的关系图。

通过推送传递拉取传递将 MQTT 消息路由到 Azure 服务和自定义终结点,从而集成来自 MQTT 客户端的数据。 例如,使用事件网格将来自 IoT 设备的遥测数据路由到事件中心,然后路由到 Azure 流分析,以从设备遥测数据中获取见解。

推送传递用例

使用事件网格的推送传递可以实现以下用例。

生成事件驱动的无服务器解决方案

显示 Azure Functions 使用 HTTP 将事件发布到事件网格,然后事件网格将这些事件发送到 Azure 逻辑应用的示意图。

使用事件网格通过 Azure Functions 应用、逻辑应用和 API 管理生成无服务器解决方案。 与使用经典计算模型(为此必须采购基础结构并管理、保护和维护已部署的整个基础结构)相比,将无服务器服务与事件网格配合使用可以获得更高的工作效率、投入收益比和集成度。

从 Azure 服务接收事件

显示 Blob 存储通过 HTTP 将事件发布到事件网格的关系图。

事件网格可以接收来自 20 多个 Azure 服务的事件,以便可以自动执行操作。 例如,可以将事件网格配置为在 Azure 存储帐户中创建新的 Blob 时接收事件,以便下游应用程序可以读取和处理其内容。 有关所有支持的 Azure 服务和事件的列表,请参阅系统主题

从应用程序接收事件

显示客户应用程序使用 HTTP 将事件发布到事件网格的示意图。事件网格将这些事件发送到 Webhook 或 Azure 服务。

你自己的服务或应用程序将事件发布到订阅服务器应用程序处理的事件网格。 事件网格采用命名空间主题来解决使用简单资源模型时的大规模集成和路由需求。 也可以使用自定义主题来满足基本集成需求,并使用来提供简单的管理和路由模型,使你可以将事件分发到数百甚至数千个不同的组。

从合作伙伴(SaaS 提供商)接收事件

显示外部合作伙伴应用程序使用 HTTP 将事件发布到事件网格的关系图。

多租户 SaaS 提供商或平台可以通过称为合作伙伴事件的功能将其事件发布到事件网格。 例如,可以订阅这些事件并自动执行任务。 目前,可以接受以下合作伙伴的事件:

拉取传递用例

Azure 事件网格采用拉取 CloudEvents 传递。 使用此传递模式,客户端可以连接到事件网格以读取事件。 使用拉取传递可以实现以下用例。

按照你自己的频率接收事件

发布者和使用者应用程序的概要关系图。

一个或多个客户端可以连接到 Azure 事件网格以按照自己的频率读取消息。 事件网格允许客户端完全控制事件的使用。 例如,应用程序可以在特定的时间接收事件。 解决方案还可以通过添加更多从事件网格读取事件的客户端来提高使用速率。

虚拟网络中的使用者应用通过虚拟网络中的专用终结点从事件网格读取事件的概要示意图。

可以配置专用链接来连接到 Azure 事件网格,以通过虚拟网络中的专用终结点发布和读取 CloudEvents。 虚拟网络与事件网格之间的流量将遍历 Microsoft 主干网络。

重要

专用链接可用于拉取传递,而不可用于推送传递。 当应用程序连接到事件网格以发布事件或接收事件时,可以使用专用链接,而当事件网格连接到 Webhook 或 Azure 服务以传递事件时,不可以使用专用链接。