Kafka创建Topic详解(3种创建Topic方式)

Kafka创建Topic详解(3种创建Topic方式)-mikechen

在使用kafka发送消息和消费消息之前,必须先要创建topic,在kafka中创建topic的方式有以下3种方式。

1.Kafka创建Topic方式一

kafka broker中的conf/server.properties开启自动创建topic配置。

配置如下:

auto.create.topics.enable=true

那么当生产者向一个尚未创建的topic发送消息时,会自动创建一个num.partitions(默认值为1)个分区和default.replication.factor(默认值为1)个副本的对应topic。

不过我们一般不建议将auto.create.topics.enable参数设置为true,因为这个参数会影响topic的管理与维护。

 

2.Kafka创建Topic方式二

可以使用kafka-topics.sh脚本创建主题。

命令语法:

bin/kafka-topics.sh --create --topic topicname --replication-factor 1 --partitions 1 --zookeeper localhost:2181

参数说明:

  • -topic:指定topic;
  • -partitions:指定分区数;
  • –replication-factor:用来设置主题的副本数,每个主题可以有多个副本;

示例,Created topic hello-topic:

$ ./bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 2 --partitions 3 --topic hello-topic

一般建议通过这种方式来创建topic,这样更加方便管理与维护。

 

3.Kafka创建Topic方式三

kafka的0.10版本之前,可以使用内置的kafka-admin包,后续提供了专门的类AdminClient API来进行API层面上的topic创建。

陈睿mikechen

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

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

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

评论交流
    说说你的看法