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 的开发人员是透明的。也就是说无论是使用生产者发送消息,还是使用消费者使用消息,都无需更关心。