Kafka架构简介
一、kafka的架构
1、Broker
kafka集群包含一个或者多个服务器,这种服务器就叫做Broker
2、Topic
每条发布到kafka集群的消息都有一个类别,这个类别就叫做Topic(逻辑上的概念,物理上不同的Topic的消息分开存储,逻辑上一个topic的消息虽然保存于一个或者多个broker上但是用户只需指定消息的Topic,即可生产或者消费数据而不必关心数据存储在何处)
3、Partition
Partition是物理上的概念,每个Topic对应一个或者多个Partition
4、Producer
负责将消息发送到kafka的broker服务器上
5、Consumer
消息消费者,向kafka broker读取消息的客户端
6、Consumer Group
high-level consumer-API中,每个consumer都属于一个consumer group,每个consumer group会有多个consumer,但每个消息只能被consumer group的一个consumer消费,但可以被多个group 消费(可为每个Consumer指定consumer name,如果不指定则属于默认的group)
7、replica
partition 的副本,保障 partition 的高可用
8、leader
replica 中的一个角色, producer 和 consumer 只跟 leader 交互
9、follower
replica 中的一个角色,从 leader 中复制数据
10、controller
kafka 集群中的其中一个服务器,用来进行 leader election 以及 各种 failover
11、zookeeper
kafka 通过 zookeeper 来存储集群的 meta 信息
二、kafka的拓扑结构
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步