事件中心高级层概述

事件中心高级层专用于需要弹性、优异性能且延迟可预测的高端流式处理方案。 高级层提供预留的计算、内存和存储资源,这可以最大程度地减少托管多租户 PaaS 环境中的跨租户干扰。

在可能的情况下,它会将事件复制到分布在不同 Azure 可用性区域中的三个副本。 只有在所有副本都以同步方式刷新到底层快速存储之后,才会将发送操作报告为已完成。 不立即读取的或者以后需要再次读取的事件最长可保留 90 天,它们以透明方式保存在可用性区域冗余的存储层中。

除了这些与存储相关的功能以及标准层的所有功能和协议支持以外,高级层的隔离模型还能实现动态分区纵向扩展之类的功能。 此外,它提供的配额分配也要慷慨得多。 事件中心捕获是免费随附的。

注意

  • 事件中心高级版支持 TLS 1.2 或更高版本。
  • 高级层并非在所有区域中均可用。 尝试在 Azure 门户中创建命名空间,并在“创建命名空间”页面的“位置”下拉列表中查看支持的区域。

你可以为每个命名空间购买 1、2、4、8 和 16 个处理单元 (PU)。 由于高级层是基于容量的产品/服务,可实现的吞吐量不是像标准层中那样按照限制量设置的,而是像专用层那样,取决于你要求事件中心执行的工作。 每个 PU 的有效引入和流式传输吞吐量取决于各种因素,包括:

  • 生成者和使用者的数量
  • 有效负载大小
  • 分区计数
  • 流出请求速率
  • 事件中心捕获和其他高级功能的使用情况

有关详细信息,请参阅事件中心 SKU 之间的比较

为何要选择高级层?

对于需要在多租户环境中实现更好的隔离以及较低延迟和较高数据引入吞吐量的客户而言,高级层有三个引人注目的优势。

新的双层存储引擎提供卓越的性能

高级层使用新的双层日志存储引擎,它能极大地提高数据引入性能,并大幅减少整体延迟,且不影响持久性保证。

更好的隔离性和可预测性

高级层提供隔离的计算和内存容量,可在多租户部署中实现更具可预测性的延迟,并大大降低产生“坏邻居效应”的风险

它在其多租户群集中实现“群集中的群集”模型,以提供可预测性和性能,同时保留了托管多租户 PaaS 环境的所有优势。

成本节省和可伸缩性

由于高级层是一个多租户产品/服务,因此可以更灵活且更快速地动态缩放。 容量是按处理单元 (PU) 分配的,PU 用于在群集内部分配隔离的 CPU 和内存 Pod。 可按命名空间纵向扩展或缩减这些 Pod 的数目。 因此,高级层是一个低成本的选项,适用于总体吞吐量范围小于 120 MB/秒但高于可通过标准层实现的级别的消息传递方案。

事件加密

Azure 事件中心提供了通过 Azure 存储服务加密 (Azure SSE) 对静态数据进行加密的功能。 事件中心服务使用 Azure 存储来存储数据。 使用 Azure 存储存储的所有数据都使用 Microsoft 托管密钥进行加密。 如果你使用自己的密钥(也称为创建自己的密钥 (BYOK) 或客户管理的密钥),则仍使用 Microsoft 托管密钥对数据进行加密,但另外,将使用客户管理的密钥对 Microsoft 托管密钥进行加密。 使用此功能可以创建、轮换、禁用用于加密 Microsoft 托管密钥的客户管理的密钥,以及撤销对这些密钥的访问权限。 启用 BYOK 功能是在命名空间中执行的一次性设置过程。

注意

为 Apache Kafka RPC 协议默认启用的所有事件中心命名空间可由现有的基于 Kafka 的应用程序使用。 在群集上启用 Kafka 不影响非 Kafka 用例;没有对应的选项,或者不需要在群集上禁用 Kafka。

配额和限制

高级层提供标准计划的所有功能,但其性能和隔离性更好,且配额更高。 有关详细的配额和限制,请参阅事件中心配额和限制

使用可用性区域实现高可用性

事件中心标准层、高级层和专用层提供可用性区域支持,没有额外费用。 使用可用性区域,可以在每个 Azure 区域中物理隔离的位置运行事件流式处理工作负载,以应对本地故障。

重要

可用性区域支持仅适用于具有可用性区域的 Azure 区域

高级层与专用层

与专用产品/服务相比,高级层具有以下优势:

  • 在可快速转移资源的大型多租户环境中进行隔离
  • 进行缩放的弹性程度和速度要大得多
  • 可以动态调整 PU

因此,对于最大为 160 MB/秒(每命名空间)的事件流式传输工作负载,高级层通常比专用层更具成本效益,尤其是当负载在一天或一周中不断变化时。

注意

在通过可用性区域支持提供额外的可靠性方面,专用层的最小部署规模为 8 个容量单位 (CU),而高级层在所有可用性区域的第一个 PU 中即提供可用性区域支持。

定价

高级层产品/服务按处理单位 (PU) 计费,PU 对应于底层基础结构中共享的隔离资源(CPU、内存和存储)。

常见问题解答

可以使用处理单元 (PU) 来做什么?

使用 PU 可以引入和流式传输的数据量取决于各种因素,例如生成者、使用者、引入和处理速率,等等。 有关处理单元的详细信息,请参阅使用事件中心进行缩放

是否可以将标准命名空间迁移到高级命名空间?

目前不支持从标准命名空间迁移到高级命名空间。

后续步骤

请参阅以下文章: