Apache Kafka on HDInsight(预览版)简介

Apache Kafka 是开源分布式流式处理平台,可用于构建实时流数据管道和应用程序。 Kafka 还提供类似于消息队列的消息中转站功能,可在其中向命名的数据流发布和订阅信息。 Kafka on HDInsight 在 Azure 云中提供托管的、高度可缩放且高度可用的服务。

为何使用 Kafka on HDInsight?

Kafka 提供以下功能:

  • 发布-订阅消息模式:Kafka 提供生成者 API 用于向 Kafka 主题发布记录。 订阅某个主题时,会用到使用者 API。

  • 流式处理:执行实时流处理时,往往会将 Kafka 与 Apache Storm 或 Spark 配合使用。 Kafka 0.10.0.0(HDInsight 版本 3.5)中引入了流式处理 API,可用于构建流式处理解决方案,而无需使用 Storm 或 Spark。

  • 横向缩放:Kafka 可在 HDInsight 群集中的节点之间对流进行分区。 使用者进程可与单个分区相关联,在使用记录时提供负载均衡。

  • 有序传送:在每个分区内,记录按接收顺序存储在流中。 通过在使用者进程与分区之间建立一对一的关联,可以保证记录按顺序处理。

  • 容错:可以在节点之间复制分区以提供容错能力。

  • 与 Azure 托管磁盘集成:托管磁盘为 HDInsight 群集中虚拟机使用的磁盘提供更高的规模和吞吐量。

    默认情况下针对 Kafka on HDInsight 启用托管磁盘,并且可以在创建 HDInsight 的过程中配置每个节点使用的磁盘数。 有关托管磁盘的详细信息,请参阅 Azure 托管磁盘

    有关为 Kafka on HDInsight 配置托管磁盘的信息,请参阅提高 Kafka on HDInsight 的可伸缩性

用例

  • 消息传送:由于支持发布-订阅消息模式,Kafka 通常用作消息中转站。

  • 活动跟踪:由于 Kafka 提供有序的日志记录,因此可用于跟踪和重建活动, 例如,网站上或应用程序内的用户操作。

  • 聚合:使用流处理可以从不同的流聚合信息,并将信息组合并集中化为操作数据。

  • 转换:使用流处理可将多个输入主题的数据组合并扩充为一个或多个输出主题。

后续步骤

单击以下链接了解如何使用 Apache Kafka on HDInsight: