kafka的topic创建过程 | 您所在的位置:网站首页 › kafka创建删除topic › kafka的topic创建过程 |
参考连接:https://blog.csdn.net/lanmolei814/article/details/78353898 ps: 这篇连接没有讲kafka跟zookeeper的关系,如果知道了这个知识点会更容易记。关于这个知识点可以参考这个视频:https://www.zhihu.com/zvideo/1376537824599048192 Kafka创建topic命令: bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 3 --topic test 这条命令会创建一个名为test的topic,有3个分区,每个分区需分配3个副本。
topic创建主要分为两个部分:命令行部分+后台(controller)逻辑部分,如下图所示。主要的思想就是后台逻辑会监听zookeeper下对应的目录节点,一旦发起topic创建命令,该命令会创建新的数据节点从而触发后台的创建逻辑。(这一段的意思是说,创建topic的时候 zookeeper下的节点数据会发生相应的变化,而后台逻辑部分监听到这个变化后会做一系列的实质性创建操作)
命令行主要做两件事情: 1. 确定分区副本的分配方案(就是每个分区的副本都分配到哪些broker上); 2. 创建zookeeper节点,把这个方案写入/brokers/topics/节点下 Kafka controller部分主要做下面这些事情: 1. 创建分区; 2. 创建副本; 3. 为每个分区选举leader、ISR; 4.更新各种缓存 下面我们详细说说其中的逻辑。在开始之前,我们假设本例中要创建的topic名字是test,有3个分区,副本因子(replication-factor)也是3。注意:本文只涉及主要的逻辑,一些非默认行为不在此次讨论之中。参考连接:https://blog.csdn.net/lanmolei814/article/details/78353898 |
CopyRight 2018-2019 实验室设备网 版权所有 |