Kafka拓扑结构

Kafka拓扑结构




上图中kafka相关术语


Producer  :消息生产者,负责发布消息到kafka broker。


Broker 代理,kafka集群包含的服务端(每个服务端称之为代理),负责处理消息读写请求及存储消息。


Consumer :消息消费者,向kafka broker读取消息的客户端。


Topic 消息分类。


Partition partition 是物理上的概念,每个 topic 包含一个或多个 partition,kafka 分配的单位是 partition。


Consumer group :每个 consumer 属于一个特定的 consumer group,每条消息只能被 consumer group 中的一个 Consumer 消费,但可以被多个 consumer group 消费。


Zookeeper :一个分布式应用程序协调服务,它在这里负责存储kafka集群的meta信息。


Replica :partition 的副本,保障 partition 的高可用。


Leader :replica 中的一个角色, producer 和 consumer 只跟 leader 交互。


Follower :replica 中的一个角色,从 leader 中复制数据。


Controller:Kafka集群中的其中一个Broker会被选举为Controller,主要负责Partition管理和副本状态管理,也会执行类似于重分配Partition之类的管理任务。如果当前的Controller失败,会从其他正常的Broker中重新选举Controller。