一、分区
在Kafka系统中,一个主题(Topic)下包含多个不同的分区(Partition),每个分区(Partition)相当于一个超大的文件被均匀分配成若干个大小相等的片段(Segment)。
Kafka可以保证分区上的消息是有序的,不同分区之间的消息没有顺序。
分区可以设置副本因子,其中Leader分区负责对应分区的读写、Follower分区负责同步分区的数据。
二、ISR(In sync replicas)
Leader分区会维持一个与其保持同步的replica集合,该集合就是ISR。
当开启Ack机制时,Leader分区收到数据后,后面的Follower就开始同步数据了,但是如果有一个Follower出现了故障,无法与Leader来进行同步,这样Leader就会一直等待下去了,直到它同步完成才会把Ack发送出去。这种情况下会大大的让Kafka效率降低,所以ISR就出现了。