Kafka 是一个分布式流处理平台,由多个组件构成,其中一些主要组件包括:
- Broker: Kafka 集群中的每个节点都被称为 Broker。Broker 是 Kafka 的基本单元,负责存储消息,处理生产者和消费者的请求,并协调集群中的各个节点。
- Topic(主题): Topic 是 Kafka 中消息的分类单元。生产者将消息发送到一个或多个主题,而消费者订阅一个或多个主题以接收消息。主题是消息的逻辑容器,用于对消息进行分类和组织。
- Partition(分区): 每个主题可以被划分为一个或多个分区。分区是消息的物理存储单元,允许数据在集群中并行处理。每个分区都有一个 Leader 和多个 Follower,负责处理消息的写入和读取。
- Producer(生产者): 生产者是负责向 Kafka 主题发送消息的组件。生产者将消息发送到指定的主题,可以选择性地指定消息的键(key),以便将消息路由到特定的分区。
- Consumer(消费者): 消费者是负责从 Kafka 主题接收消息的组件。消费者可以订阅一个或多个主题,并从分区中读取消息。消费者可以以不同的方式进行消息处理,例如自动提交或手动提交偏移量。
- Consumer Group(消费者组): 消费者可以组成消费者组,以实现在一个主题的多个分区上并行处理消息。每个消费者组中的消费者负责处理特定分区的消息。消费者组提供了一种水平扩展消费者的方式。
- ZooKeeper: Kafka 使用 ZooKeeper 来协调和管理集群中的 Broker。ZooKeeper维护了集群中的 Broker 状态、主题和分区的元数据信息,并协助进行 Leader 选举、故障恢复等操作。
- Controller: Controller 是 Kafka 集群中的一个特殊节点,负责协调集群中的分区和副本的分配、Leader 选举等操作。每个分区都有一个 Leader,Controller 负责监控和管理这些 Leader。
这些组件一起构成了 Kafka 分布式流处理平台,支持高性能、可靠的消息传递和流处理。
Was this helpful?
0 / 0