上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
第4章 主题与分区
主题和分区是Kafka 的两个核心概念,前面章节中讲述的生产者和消费者的设计理念所针对的都是主题和分区层面的操作。主题作为消息的归类,可以再细分为一个或多个分区,分区也可以看作对消息的二次归类。分区的划分不仅为Kafka提供了可伸缩性、水平扩展的功能,还通过多副本机制来为Kafka提供数据冗余以提高数据可靠性。
从Kafka的底层实现来说,主题和分区都是逻辑上的概念,分区可以有一至多个副本,每个副本对应一个日志文件,每个日志文件对应一至多个日志分段(LogSegment),每个日志分段还可以细分为索引文件、日志存储文件和快照文件等。不过对于使用Kafka进行消息收发的普通用户而言,了解到分区这一层面足以应对大部分的使用场景。本章只针对主题与分区这一层面的内容进行讲解,更底层的内容会在第5章中进行详述。
本章包括以下几个要点:
· 主题的管理;
· 初识KafkaAdminClient;
· 分区的管理;
· 分区数的选择。