Kafka集群原理详解(图文全面总结)

Kafka集群原理

Kafka 集群由多个独立的服务器节点(Broker)组成,这些 Broker 通过网络连接协同工作。

Kafka集群原理详解(图文全面总结)-mikechen

一个集群:通常包含多个 Broker 以实现冗余、和扩展性。

 

Kafka集群Broker 

Broker 是构成 Kafka 集群的基本单元。多个 Broker 协同工作,共同组成了功能强大的 Kafka 集群。

Kafka集群原理详解(图文全面总结)-mikechen

Kafka 集群 (The Library): 是一个整体的、分布式的消息系统。

Broker (The Building): 是 Kafka 集群中的一个独立的服务器实例。每个 Broker 都是集群中的一个节点,负责管理一部分数据和处理一部分客户端请求。

Kafka 集群好比一个大型的图书馆,而 Broker 就是图书馆里的一栋栋独立的建筑。

 

Kafka集群Partition  

Partition:Kafka主题下的逻辑分区,是Kafka并行处理、和扩展的基础。

Topic 的 Partition 分布在不同的 Broker 上,这样做的好处是实现了数据的水平扩展和负载均衡。

Kafka集群原理详解(图文全面总结)-mikechen

一个 Broker 可以负责:多个 Topic 的多个 Partition。

假设我们有 3 个 Broker 的 Kafka 集群:broker-0, broker-1, broker-2
定义一个 Topic:user-events,有 3 个 Partition,副本因子为 2。

Kafka 会自动将 Partition 分布在 Broker 上,比如:

Partition Leader Broker Follower Broker
0 broker-0 broker-1
1 broker-1 broker-2
2 broker-2 broker-0

这体现了 Kafka 集群中 Broker 之间的数据分摊与副本容灾机制。

Kafka通过分区划分数据,实现消息的水平扩展。每个Partition有一个单独的Leader,负责处理读写请求,其它副本作为Follower追赶Leader数据。

总之,Kafka集群通过Broker节点组成分布式系统,利用Topic和Partition实现消息的高效分发和存储,副本机制保障数据可靠性。

mikechen

mikechen睿哥,10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复架构即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法