本文主要对消息队列 Kafka 涉及的专有名词和术语进行定义和解释,方便您更好地理解相关概念并使用该产品。

Broker
消息队列 Kafka 集群包含一个或多个消息处理服务器,该服务器被称为 Broker。
Topic
每条发布到消息队列 Kafka 集群的消息都有一个主题,这个主题被称为 Topic。通过 Topic 可以对消息进行分类。每个 Topic 可以由一个或多个分区(Partition)组成,存储于一个或多个 Broker 上。
分区(Partition)
消息分区;Partition 是物理上的概念,每个 Topic 包含一个或多个 Partition。
Producer
消息发布者,也称为消息生产者,负责生产并发送消息到 Kafka Broker。
Consumer
消息订阅者,也称为消息消费者,负责向 Kafka Broker 读取消息并进行消费。
Consumer Group
一类 Consumer 的标识,这类 Consumer 通常接收并消费同一类消息,且消费逻辑一致。Consumer Group 和 Topic 的关系是 N:N,同一个 Consumer Group 可以订阅多个 Topic,同一个 Topic 也可以被多个 Consumer Group 订阅。
普通消息
默认情况下,保证相同 Key 的消息分布在同一个分区中。集群中出现机器宕机时,可能会造成消息乱序。
分区顺序消息
默认情况下,保证相同 Key 的消息分布在同一个分区中。集群中出现机器宕机时,不会造成消息乱序。但是会出现部分分区发送消息失败,等到宕机机器重新上线后即可恢复正常。
Local 存储
存储消息的一种方式,使用原生 Kafka 的 ISR 复制算法,3 副本,且 min.insync.replicas = 2。
云存储
存储消息的一种方式,底层接入阿里云云盘的多副本能力。在 Kafka 层面,每个分区只需要 1 个副本。更多信息请参见 Topic 存储最佳实践