什么是 Azure 事件网格?

Event Grid 是一个高度可缩放的无服务器事件代理,可用于集成使用事件的应用程序。 事件由事件网格传递到订阅者目标,例如应用程序、Azure 服务或事件网格具有网络访问权限的任何终结点。 这些事件的源可以是其他应用程序、SaaS 服务和 Azure 服务。

借助事件网格,你可以使用事件驱动体系结构来连接解决方案。 事件驱动体系结构使用事件将发生的系统状态变化传达给其他应用程序或服务。 可以使用筛选器将特定事件路由到不同的终结点,多播到多个终结点,并确保事件可靠传送。

部署 Azure 事件网格是为了通过本机分布在每个区域中的多个容错域和可用性区域(在支持它们的区域中)来最大限度地提高可用性。 有关事件网格支持的区域列表,请参阅可用产品(按区域)

下图中总结了事件源和事件处理程序或目标。

源和处理程序的事件网格模型

注意

此图展示事件网格连接源和处理程序的方式,而不是支持的集成的完整列表。 有关所有受支持的事件源的列表,请参阅下一部分。

事件源

事件网格支持以下事件源:

  1. 你自己的的服务或解决方案,它们将事件发布到事件网格,以便你的客户可以订阅这些事件。 事件网格提供了两种类型的资源,你可以根据自己的需要使用。
    • 自定义主题或简称“主题”。 如果你的要求类似于以下用户情景,请使用自定义主题:

      “作为系统的所有者,我想通过发布事件以及将这些事件路由来传达系统的状态更改,以便由我控制或通过其他方式控制的事件处理程序可以按其认为合适的方式处理系统的事件。”

    • 。 如果你想将活动大规模交付给多个团队,请使用域。 你的要求可能与以下类似:

      “作为系统的所有者,我想向单个租户中的多个团队宣布我的系统状态更改,以便他们能够以他们认为合适的方式处理我的系统事件。”

  2. Azure 服务。 以下 Azure 服务支持将事件发送到事件网格。 有关列表中某个源的详细信息,请选择相应链接。

事件处理程序

有关每个处理程序的功能的完整详细信息及相关文章,请参阅事件处理程序。 当前,以下 Azure 服务支持从事件网格处理事件:

概念

在可以开始进行操作的 Azure 事件网格中有五个概念:

  • 事件 - 发生了什么。
  • 事件源 - 事件发生的地点。
  • 主题 - 其中发布者发送事件的终结点。
  • 事件订阅 - 用于路由事件,有时用于多个处理程序的终结点或内置机制。 订阅还用于处理程序,以便智能地筛选传入事件。
  • 事件处理程序 - 对事件作出反应的应用或服务。

有关这些概念的详细信息,请参阅 Azure 事件网格中的概念

功能

下面是 Azure 事件网格中的一些主要功能:

  • 简洁性 - 指向并单击从 Azure 资源到任何事件处理程序或终结点的目标事件。
  • 高级筛选 - 筛选事件类型或事件发布路径,以确保事件处理程序仅接收相关的事件。
  • 扇出 - 订阅到相同事件的多个终结点,以将该事件的副本发送到所需的所有位置。
  • 可靠性 - 使用指数退避算法在 24 小时内重试,以确保事件成功传送。
  • 按事件支付 - 仅支付事件网格的使用量。
  • 高吞吐量 - 在事件网格上构建高容量工作负荷。
  • 内置事件 - 使用资源定义的内置事件快速启动和运行。
  • 自定义事件 - 在应用中使用事件网格路由、筛选并可靠地传送自定义事件。

使用事件网格可以做什么?

Azure 事件网格提供多项功能,极大程度地改进了无服务器体系结构、运维自动化和集成工作:

无服务器应用程序体系结构

无服务器应用程序体系结构

事件网格将数据源与事件处理程序连接。 例如,使用事件网格触发无服务器功能,该功能在添加到 blob 存储容器时分析图像。

运维自动化

运维自动化

使用事件网格,可以加快自动化,简化策略执行。 例如,使用事件网格在 Azure SQL 中创建虚拟机或 SQL 数据库时通知 Azure 自动化。 使用事件自动检查服务配置是否符合要求、将元数据放入操作工具、标记虚拟机或提交工作项。

应用程序集成

将应用程序与 Azure 集成

事件网格将应用与其他服务连接。 例如,创建一个自定义主题以将应用的事件数据发送到事件网格,并利用其可靠交付、高级路由和与 Azure 的直接集成。 或者,可将事件网格与逻辑应用搭配使用,处理任何位置的数据,而无需编写代码。

事件网格的费用是多少?

Azure 事件网格使用按事件支付的定价模型,因此,你只需为你所使用的事件付费。 每月前 100,000 个操作是免费的。 操作定义为事件引入、订阅交付尝试、管理调用和按使用者后缀筛选。 有关详细信息,请参阅定价页

后续步骤