您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

Azure 事件中心 — 大数据流式处理平台和事件引入服务

Azure 事件中心是大数据流式处理平台和事件引入服务。 它可以每秒接收和处理数百万个事件。 可以使用任何实时分析提供程序或批处理/存储适配器转换和存储发送到事件中心的数据。

以下方案是可以使用事件中心的部分方案:

  • 异常情况检测(欺诈/离群值)
  • 应用程序日志记录
  • 分析管道,例如点击流
  • 实时仪表板
  • 存档数据
  • 事务处理
  • 用户遥测数据处理
  • 设备遥测数据流式处理

为何使用事件中心?

仅当能够轻松处理并且能够从数据源获取即时见解时,数据才有价值。 事件中心提供低延迟、可无缝集成的分布式流处理平台,并在 Azure 的内部和外部提供数据和分析服务,用于构建完整的大数据管道。

事件中心充当事件管道的“前门”,在解决方案体系结构中通常称作“事件引入器” 。 事件引入器是位于事件发布者与事件使用者之间的组件或服务,可以将事件流的生成与这些事件的使用分离开来。 事件中心提供统一的流式处理平台和时间保留缓冲区,将事件生成者与事件使用者分离开来。

以下部分介绍 Azure 事件中心服务的重要功能:

完全托管的 PaaS

事件中心是完全托管的平台即服务 (PaaS),其配置或管理开销极低,因此你可以专注于业务解决方案。 Apache Kafka 生态系统的事件中心提供 PaaS Kafka 体验,使用户无需管理、配置或运行群集。

支持实时处理和批处理

实时引入、缓冲、存储和处理流,以获取可行的见解。 事件中心使用分区的使用者模型,可让多个应用程序同时处理流,并允许控制处理速度。 Azure 事件中心还能与 Azure Functions 集成,以构成无服务器体系结构。

捕获事件数据

Azure Blob 存储Azure Data Lake Storage  中近乎实时地捕获数据,以进行长期保留或微批处理。 可以基于用于派生实时分析的同一个流实现此行为。 设置捕获极其简单。 无需管理费用即可运行它,并且可以使用事件中心 吞吐量单位处理单位自动对它进行缩放。 使用事件中心可以专注于数据处理而不是数据捕获。

可缩放

使用事件中心可以从 MB 量级的数据流着手,然后逐步扩展到 GB 甚至 TB 量级的处理。 自动扩充功能是用于根据用量需求扩展吞吐量单位数或处理单位数的众多选项之一。

丰富的生态系统

借助基于行业标准 AMQP 1.0 协议并提供各种语言(.NETJavaPythonJavaScript)的广泛生态系统,可以轻松地从事件中心开始处理流。 所有支持的客户端语言提供低级别集成。 该生态系统还为你提供了与 Azure 服务(如 Azure 流分析和 Azure Functions)的无缝集成,使你能够构建无服务器体系结构。

用于 Apache Kafka 的事件中心

Apache Kafka 生态系统的事件中心还可让 Apache Kafka(1.0 和更高版本)客户端和应用程序与事件中心通信。 无需设置、配置或管理你自己的 Kafka 和 Zookeeper 群集,也不需要使用某些不是 Azure 原生的 Kafka 即服务产品/服务。

事件中心高级层和专用层

事件中心高级层能够满足高端流式处理需求,即在托管的多租户 PaaS 环境中要求更高的性能、更好的隔离性、可预测的延迟和最小的干扰。 在标准产品/服务的所有功能之上,高级层提供了多种额外功能,例如动态分区纵向扩展、延长保持和客户管理的密钥。 有关详细信息,请参阅事件中心高级层

事件中心专用层提供单租户部署来满足客户的最苛刻流式处理需求。 此单租户套餐提供有保障的 99.99% SLA,只能在专用定价层上使用。 事件中心群集每秒能够引入数百万个事件,且提供有保障的容量和亚秒级的延迟。 在专用群集中创建的命名空间和事件中心不仅仅包括高级产品/服务的所有功能。 有关详细信息,请参阅事件中心专用层

如需更多详细信息,请参阅事件中心层之间的比较

Azure Stack Hub 上的事件中心

使用 Azure Stack Hub 上的事件中心可以实现混合云方案。 支持使用基于流式处理和事件的解决方案进行本地处理和 Azure 云处理。 无论方案是混合(联网)还是离线的,解决方案都支持大规模的事件/流处理。 方案仅受事件中心群集大小的约束,但你可以根据需要预配群集大小。

(Azure Stack Hub 和 Azure 上的)事件中心版本提供高度的功能奇偶一致性。 这种奇偶一致性意味着 SDK、示例、PowerShell、CLI 和门户提供类似的体验(差异很小)。

Stack 上的事件中心在公共预览期免费。 有关详细信息,请参阅 Azure Stack Hub 上的事件中心概述

重要的体系结构组件

事件中心包含以下关键组件

  • 事件生成者:向事件中心发送数据的所有实体。 事件发布者可以使用 HTTPS、AMQP 1.0 或 Apache Kafka(1.0 和更高版本)发布事件。
  • 分区:每个使用者只读取消息流的特定子集或分区。
  • 使用者组:整个事件中心的视图(状态、位置或偏移量)。 通过使用者组来使用应用程序时,每个应用程序都有事件流的单独视图。 使用者根据自身的步调和情况独立读取流。
  • 吞吐量单位处理单位:预先购买的容量单位,用于控制事件中心的吞吐量容量。
  • 事件接收者:从事件中心读取事件数据的所有实体。 所有事件中心使用者通过 AMQP 1.0 会话进行连接。 事件中心服务在事件变得可用时通过会话来提供事件。 所有 Kafka 使用者都通过 Kafka 协议 1.0 及更高版本进行连接。

下图显示了事件中心流处理体系结构:

事件中心

后续步骤

要开始使用事件中心,请参阅“发送和接收事件”教程 :

若要了解有关事件中心的详细信息,请参阅以下文章: