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/<topic>节点下

Kafka controller部分主要做下面这些事情:

              1. 创建分区;

               2. 创建副本;

               3. 为每个分区选举leader、ISR;

               4.更新各种缓存

下面我们详细说说其中的逻辑。在开始之前,我们假设本例中要创建的topic名字是test,有3个分区,副本因子(replication-factor)也是3。注意:本文只涉及主要的逻辑,一些非默认行为不在此次讨论之中。参考连接:https://blog.csdn.net/lanmolei814/article/details/78353898

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小金子的夏天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值