Kafka 基本概念

Kafka 是一个分布式的、可分区的、可复制的消息系统。不仅提供了普通消息系统的功能,还具有自己独特的设计。

Kafka 基本概念包括:主题 Topic、生产者 Producer、消费者 Consumer、集群 Cluster 和 代理 Broker。

 

1. Kafka 概念之间的关系图

  • Kafka producers(生产者)通过网络将消息发送到 Kafka 集群,Kafka 集群负责保存消息,并向消费者提供消息。
  • Kafka cluster(集群)负责保存生产者提交的消息,并向消费者提供消息。Kafka 集群有多个 broker(代理服务器)组成。
  • Kafka consumers(消费者)通过网络从 Kafka 集群拉取消息,进行消费。

 

2. 主题 Topic

Kafka 将消息以 Topic 为单位进行分类,每一类的消息称之为一个主题(Topic)。

 

3. 生产者 Producer

发布消息的对象称之为主题生产者(Kafka topic producer)。生产者通常是一个应用程序。

 

4. 消费者 Consumer

订阅消息并处理发布消息的对象称之为主题消费者(consumers)。消费者通常也是一个应用程序。

 

5. 集群 Cluster 和 代理 Broker

已发布的消息保存在一组服务器中,称为 Kafka 集群(cluster)。

Kafka 集群中的每一个服务器都是一个代理(Broker)。

消费者可以订阅一个或多个主题(topic),并从 Broker 拉取数据,从而消费这些已发布的消息。

Kafka 消息是指由生产者发送的一条记录,它在 Kafka 中以特定的格式进行存储。随着 Kafka 的迅猛发展,消息格式也在不断的升级改进。Kafka 的消息格式也经历了3个版本:v0、v1 和 v2。Kafka 的消息格式对于使用 Kafka 的开发人员是透明的。也就是说无论是使用生产者发送消息,还是使用消费者使用消息,都无需更关心。