kafka基础架构

一、kafka架构图及其术语

各个术语解释如下:
(1)producer:消息生产者,发布消息到kafka集群的终端或服务。
(2)broker:kafka集群中包含的服务器。
(3)topic:每条发布到kafka集群的消息属于的类别,即kafka是面向topic的。
(4)partition:topic的分区,一个Topic可以有多个Patition,每个Partition是一个有序的队列,分区的作用是做负载,提高kafka的吞吐量。同一个topic在不同的分区的数据是不重复的,partition的表现形式就是一个一个的文件夹。partition是物理上的概念,每个topic包含一个或多个partition。kafka分配的单位是partition。
(5)consumer:从kafka集群中消费消息的终端或服务。
(6)Consumer group:high-level consumer API中,每个consumer都属于一个consumer group,每条消息只能被consumer group中的一个Consumer消费,但可以被多个consumer 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的基础信息还是很有帮助的。
(1)https://www.cnblogs.com/clawhub/p/11973407.html
(2)https://www.cnblogs.com/qingyunzong/p/9004593.html
(3)https://www.cnblogs.com/bainianminguo/p/12247158.html
(4)https://www.cnblogs.com/ITtangtang/p/8026771.html
(5)https://blog.csdn.net/chengyuqiang/article/details/78383856
(6)https://zhuanlan.zhihu.com/p/58658870
(7)https://www.orchome.com/5
(8)https://baijiahao.baidu.com/s?id=1629581811556753058&wfr=spider&for=pc
(9)https://blog.51cto.com/zengestudy/2049281
(10)https://www.pianshen.com/article/6939610204/
(11)https://developer.51cto.com/art/201808/581538.htm

posted @ 2021-03-15 17:40  jason小蜗牛  阅读(194)  评论(0编辑  收藏  举报