典型拓扑结构
Kafka 集群包含若干个 Producer,若干个 Broker (Kafka 集群支持水平扩展,一般 Broker 数量越多,整个 Kafka 集群的吞吐量也就越高),若干个 Consumer Group,以及一个 Zookeeper 集群。
Kafka 通过 Zookeeper 管理集群配置。
Producer 使用 Push 模式将消息发布到 Broker 上,Consumer 使用 Pull 模式从 Broker 上订阅并消费消息。
Kafka 数据流
Producers 往 Brokers 中指定的 Topic Push 消息,Consumers 从 Brokers 里面 Pull 指定 Topic 的消息,然后进行业务处理。
图中有两个 Topic,并且每个 Partition 上色数据在其他 Broker 服务器上都有一份副本:
- Topic-0 有两个 Partition,Partition-0 和 Partition-1;
- Topic-1 有一个 Partition。
可以看到 Consumer-Group-1 中的 Consumer-2 没有分到 Partition 处理,这是有可能出现的。
参考:
标签:Partition,Broker,Kafka,Topic,集群,Consumer From: https://www.cnblogs.com/i9code/p/17988399