Azure 事件中心 - 大数据流式处理平台和事件引入服务
事件中心是一项现代化的大数据流式处理平台和事件引入服务,可与其他 Azure 和 Azure 服务(例如流分析、Power BI 和事件网格)以及 Apache Spark 等外部服务无缝集成。 该服务可在保证低延迟的情况下每秒处理数百万个事件。 发送到事件中心(事件中心实例)的数据可以通过任何实时分析提供程序或者批处理或存储适配器来进行转换和存储。
为何使用事件中心?
仅当能够轻松处理并且能够从数据源获取即时见解时,数据才有价值。 事件中心提供低延迟、可无缝集成的分布式流处理平台,并在 Azure 的内部和外部提供数据和分析服务,用于构建完整的大数据管道。
事件中心充当事件管道的“前门”,在解决方案体系结构中通常称作“事件引入器” 。 事件引入器是位于事件发布者与事件使用者之间的组件或服务,可以将事件流的生成与这些事件的使用分离开来。 事件中心提供统一的流式处理平台和时间保留缓冲区,将事件生成者与事件使用者分离开来。
以下部分介绍 Azure 事件中心服务的重要功能:
完全托管的 PaaS
事件中心是完全托管的平台即服务 (PaaS),其配置或管理开销极低,因此你可以专注于业务解决方案。 Apache Kafka 生态系统的事件中心提供 PaaS Kafka 体验,使用户无需管理、配置或运行群集。
支持实时处理和批处理
实时引入、缓冲、存储和处理流,以获取可行的见解。 事件中心使用分区的使用者模型,可让多个应用程序同时处理流,并允许控制处理速度。 Azure 事件中心还能与 Azure Functions 集成,以构成无服务器体系结构。
捕获事件数据
在 Azure Blob 存储中准实时地捕获数据,以便进行长期保留或微批处理。 可以基于用于派生实时分析的同一个流实现此行为。 设置捕获极其简单。 无需管理费用即可运行它,并且可以使用事件中心吞吐量单位或处理单位自动对它进行缩放。 使用事件中心可以专注于数据处理而不是数据捕获。
可缩放
使用事件中心可以从 MB 量级的数据流着手,然后逐步扩展到 GB 甚至 TB 量级的处理。 自动扩充功能是用于根据用量需求扩展吞吐量单位数或处理单位数的众多选项之一。
丰富的生态系统
借助适用于行业标准 AMQP 1.0 协议的广泛生态系统以及各种语言(.NET、Java、Python、JavaScript)的 SDK,你可以轻松地从事件中心开始处理流。 所有支持的客户端语言提供低级别集成。 该生态系统还为你提供了与 Azure 服务(如 Azure 流分析和 Azure Functions)的无缝集成,使你能够构建无服务器体系结构。
事件中心高级层和专用层
事件中心高级层能够满足高端流式处理需求,即在托管的多租户 PaaS 环境中要求更高的性能、更好的隔离性、可预测的延迟和最小的干扰。 在标准产品/服务的所有功能之上,高级层提供了多种额外功能,例如动态分区纵向扩展、延长的保留期。 有关详细信息,请参阅事件中心高级层。
事件中心专用层提供单租户部署来满足客户的最苛刻流式处理需求。 此单租户套餐提供有保障的 99.99% SLA,只能在专用定价层上使用。 事件中心群集每秒能够引入数百万个事件,且提供有保障的容量和亚秒级的延迟。 在专用群集中创建的命名空间和事件中心不仅仅包括高级产品/服务的所有功能。 有关详细信息,请参阅事件中心专用层。
有关详细信息,请参阅事件中心层级之间的比较。
Azure Stack Hub 上的事件中心
借助 Azure Stack Hub 上的事件中心服务,可以实现混合云方案。 支持使用基于流式处理和事件的解决方案进行本地处理和 Azure 云处理。 无论方案是混合(联网)还是离线的,解决方案都支持大规模的事件/流处理。 方案仅受事件中心群集大小的约束,但你可以根据需要预配群集大小。
(Azure Stack Hub 和 Azure 上的)事件中心版本提供高度的功能奇偶一致性。 这种奇偶一致性意味着 SDK、示例、PowerShell、CLI 和门户提供类似的体验(差异很小)。
有关详细信息,请参阅 Azure Stack Hub 上的事件中心概述。
重要的体系结构组件
事件中心包含以下关键组件。
组件 | 说明 |
---|---|
事件生成者 | 向事件中心发送数据的所有实体。 事件发布者可以使用 HTTPS、AMQP 1.0 或 Apache Kafka(1.0 及更高版本)发布事件。 |
分区 | 每个使用者只读取消息流的特定子集或分区。 |
使用者组 | 整个事件中心的视图(状态、位置或偏移量)。 通过使用者组来使用应用程序时,每个应用程序都有事件流的单独视图。 使用者根据自身的步调和情况独立读取流。 |
事件接收器 | 从事件中心读取事件数据的所有实体。 所有事件中心使用者通过 AMQP 1.0 会话进行连接。 事件中心服务在事件变得可用时通过会话来提供事件。 所有 Kafka 使用者都通过 Kafka 协议 1.0 及更高版本进行连接。 |
吞吐量单位(标准层)、处理单位(高级层)或容量单位(专用) | 预先购买的容量单位,控制事件中心的吞吐量容量。 |
下图显示了事件中心流处理体系结构:
注意
有关详细信息,请参阅事件中心功能或组件。
后续步骤
要开始使用事件中心,请参阅“发送和接收事件”教程 :
若要了解有关事件中心的详细信息,请参阅以下文章: