深入理解Kafka(4)-主题与分区

主题的管理

主题的管理包括创建主题、查看主题信息、修改主题和删除主题等操作。可以通过Kafka提供的kafka-topics.sh 脚本来执行这些操作,这个脚本位于$KAFKA_HOME/bin/ 目录下,其核心代码仅有一行,具体如下:
exec $(dirname $0)/kafka-run-class.sh kafka.admin.TopicCommand "$@"
可以看到其实质上是调用了kafka.admin.TopicCommand 类来执行主题管理的操作。

创建主题

命令行创建主题

可以通过kafka-topics.sh 脚本来创建主题。示例如下:
bin/kafka-topics.sh --zookeeper localhost:2181/kafka --create --topic mytopic --partitions 4 --replication-factor 2
输出:
Created topic ”mytopic”

主题,分区,副本,日志的关系

主题和分区都是提供给上层用户的抽象, 而在副本层面或更加确切地说是Log 面才有实际物理上的存在。同一个分区中的多个副本必须分布在不同的broker 中,这样才能提供有效的数据冗余。

深入理解Kafka(4)-主题与分区_第1张图片 主题,分区,副本,日志的关系

Zookeeper数据

 

KafkaAdminClient

分区的管理

分区数的选择

 

你可能感兴趣的:(分布式架构,kafka)