Kafka 是一个由 Apache 软件基金会开发的开源流处理平台,它最初是作为分布式消息
队列系统而设计的,但如今已经发展成为一个全面的分布式事件流平台。以下是关于
Kafka 的详细介绍:
一、基本概念
� 定义:Kafka 是一个高吞吐量的分布式发布订阅消息系统,由 Scala 和 Java 编写。它
可以处理消费者在网站中的所有动作流数据,如网页浏览、搜索等。
� 架构:Kafka 的架构包括生产者(Producer)、消费者(Consumer)、Broker(Kafka
服务节点)和可选的 Zookeeper 集群(在 Kafka 2.8.0 及以后版本中,Zookeeper 不再
是必需的,Kafka 可以通过 KRaft 进行集群管理)。
� 核心概念:
o Producer:负责发布消息到 Kafka broker。
o Consumer:从 Kafka broker 读取消息的客户端。
o Consumer Group:由多个 Consumer 组成,组内每个 Consumer 负责消费不同分区的
数据,一个分区只能由一个组内 Consumer 消费。
o Broker:一个独立的 Kafka 服务节点或 Kafka 服务实例。
o Topic:一个逻辑上的概念,包含多个 Partition,用于区分不同的消息类型。
o Partition:物理上的概念,每个 Topic 可以包含多个 Partition,每个 Partition 是一个
有序的队列。
o Replica:副本,一个 Topic 的每个 Partition 都有若干个 Replica,用于保证数据的可靠
性和容错性。