- Apache Kafka Tutorial
- Apache Kafka - Home
- Apache Kafka - Introduction
- Apache Kafka - Fundamentals
- Apache Kafka - Cluster Architecture
- Apache Kafka - Work Flow
- Apache Kafka - Installation Steps
- Apache Kafka - Basic Operations
- Simple Producer Example
- Consumer Group Example
- Integration With Storm
- Integration With Spark
- Real Time Application(Twitter)
- Apache Kafka - Tools
- Apache Kafka - Applications
- Apache Kafka Useful Resources
- Apache Kafka - Quick Guide
- Apache Kafka - Useful Resources
- Apache Kafka - Discussion
Apache Kafka - 集群架构
看看下面的插图。它显示了Kafka的集群图。
下表描述了上图中显示的每个组件。
序列号 | 组件和描述 |
---|---|
1 |
经纪人 Kafka集群通常由多个broker组成以维持负载平衡。Kafka 代理是无状态的,因此它们使用 ZooKeeper 来维护集群状态。一个 Kafka 代理实例每秒可以处理数十万次读取和写入,每个代理可以处理 TB 级消息而不影响性能。Kafka Broker Leader 选举可以由 ZooKeeper 来完成。 |
2 |
动物园管理员 ZooKeeper用于管理和协调Kafka代理。ZooKeeper服务主要用于通知生产者和消费者Kafka系统中是否存在任何新的Broker或Kafka系统中的Broker发生故障。根据 Zookeeper 收到的有关代理存在或失败的通知,生产者和消费者会做出决定并开始与其他代理协调他们的任务。 |
3 |
制片人 生产者将数据推送给经纪人。当新的代理启动时,所有生产者都会搜索它并自动向该新代理发送一条消息。Kafka 生产者不会等待代理的确认,而是以代理可以处理的速度发送消息。 |
4 |
消费者 由于 Kafka Broker 是无状态的,这意味着消费者必须使用分区偏移量来维护已消费了多少条消息。如果消费者确认特定的消息偏移量,则意味着消费者已经消费了所有先前的消息。消费者向代理发出异步拉取请求,以获得可供使用的字节缓冲区。消费者只需提供偏移值即可倒带或跳到分区中的任何点。消费者偏移值由ZooKeeper通知。 |