大家好,欢迎来到IT知识分享网。
关注△mikechen△,十余年BAT架构经验倾囊相授!

大家好,我是mikechen。
Kafka是大型架构的必备中间件,下面我重点来详解Kafka集群原理@mikechen
文章来源:mikechen.cc
Kafka集群
Kafka 集群由多个独立的服务器节点(Broker)组成,这些 Broker 通过网络连接协同工作。

一个集群:通常包含多个 Broker 以实现冗余、和扩展性。
Kafka集群原理
Broker 是构成 Kafka 集群的基本单元。多个 Broker 协同工作,共同组成了功能强大的 Kafka 集群。

Kafka 集群 (The Library): 是一个整体的、分布式的消息系统。
Broker (The Building): 是 Kafka 集群中的一个独立的服务器实例。每个 Broker 都是集群中的一个节点,负责管理一部分数据和处理一部分客户端请求。
Kafka 集群好比一个大型的图书馆,而 Broker 就是图书馆里的一栋栋独立的建筑。
Kafka集群Partition
Partition:Kafka主题下的逻辑分区,是Kafka并行处理、和扩展的基础。
Topic 的 Partition 分布在不同的 Broker 上,这样做的好处是实现了数据的水平扩展和负载均衡。

一个 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原创超30万字《阿里架构师进阶专题合集》里面。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/188377.html