Topic(主题):同类消息的集合是逻辑概念。生产者按主题生产消息,消费者按主题消费消息。
Partition(分区):Partition是物理概念,将同一Topic分布到多个Broker。例如上图Topic A被分成三个分区(Part0、Part1、Part2),分布在三个Broker。Kafka多分区可以提升消息消费速度(多消费者消费同一主题消息)。
Replica(副本):Leader和Follower的集合,一个Topic的每个分区都有若干副本(一个Leader,多个Follower)。多副本可以实现数据备份,提高Kafka的可用性。
Leader(主副本):每个分区多个副本的主副本,生产者和消费者操作的对象。
Follower(从副本):每个分区多个副本的从副本,实时从主副本同步数据,当Leader发生故障某个Follower成为新的Leader对外提供服务。
1.2.Kafka存储机制
Kafka的数据最终都会存储到磁盘中,最直观的感受就是一个个文件。这些文件是怎么存储和管理的呢。
为了提升并发,Kafka会将同一话题(Topic)的消息分布在不同的分区(Partition)上。
其中每个分区会对应一个log文件,在log文件过大时,会存在