常见问题解答 - 用于 Apache Kafka 的事件中心

本文解答了有关迁移到用于 Apache Kafka 的事件中心的一些常见问题。

Azure 事件中心是否在 Apache Kafka 上运行?

不是。 Azure 事件中心是云原生的多层中转站,支持由 Azure 开发和维护的多种协议,并且不使用任何 Apache Kafka 代码。 其中一个受支持的协议是适用于 Kafka 客户端的使用者和生产者 API 的 Kafka RPC 协议。 事件中心可与许多现有 Kafka 应用程序配合使用。 有关详细信息,请参阅适用于 Apache Kafka 的事件中心。 由于 Apache Kafka 和 Azure 事件中心的概念非常类似(但不完全相同),因此我们可以使用现有 Apache Kafka 投资为客户提供 Azure 事件中心的不可比拟的可靠性。

事件中心使用者组与Kafka 使用者组

事件中心使用者组与事件中心的 Kafka 使用者组之间有何差异? 事件中心的 Kafka 使用者组与标准事件中心使用者组完全不同。

事件中心使用者组

  • 它们通过门户、SDK 或 Azure 资源管理器模板使用创建、检索、更新和删除 (CRUD) 操作进行管理。 事件中心使用者组无法自动创建。
  • 它们是事件中心的子实体。 这意味着同一命名空间中的事件中心之间可以重复使用相同的使用者组名称,因为这些名称是单独的实体。
  • 它们不用于存储偏移量。 使用外部偏移存储(例如 Azure 存储)来协调 AMQP 消耗情况。

Kafka 使用者组

  • 它们是自动创建的。 Kafka 组可以通过 Kafka 使用者组 API 进行管理。
  • 它们可以在事件中心服务中存储偏移量。
  • 它们在实际上是偏移键值存储的存储库中用作键。 如果 group.idtopic-partition 对是唯一的,我们会将偏移量存储在 Azure 存储中(3 倍复制)。 事件中心用户不会因存储 Kafka 偏移量而产生额外的存储成本。 偏移量可通过 Kafka 使用者组 API 进行操作,但是偏移量存储帐户对于事件中心用户来说并非直接可见或可操作。
  • 它们跨越一个命名空间。 在多个主题中对多个应用程序使用相同的 Kafka 组名意味着,只要有一个应用程序需要重新均衡,所有应用程序及其 Kafka 客户端都会重新均衡。 请明智地选择组名。
  • 它们完全不同于事件中心使用者组。 你不需要使用“$Default”,也不需要担心 Kafka 客户端会干扰 AMQP 工作负荷。
  • 它们无法在 Azure 门户中查看。 使用者组信息可通过 Kafka API 进行访问。

用于 Apache Kafka 的 Azure 事件中心是否支持共享访问签名令牌身份验证?

支持使用 OAuth 2.0 和共享访问签名进行身份验证。

共享访问签名令牌使用授权规则及其签名密钥之一生成。 将事件中心用于 Apache Kafka 终结点时,不支持该操作。

Azure 事件中心是否支持 Apache Kafka 幂等生成者和使用者?

是。 Azure 事件中心支持 Apache Kafka 幂等生成者和使用者。