目录
2.7 OSR (Out-of-Sync Replicas)
1. kafka架构图
2.关键概念解析
2.1 producer
生产者,也就是发送消息的一方。生产者负责创建消息,然后将其投递到kafka中。
2.2 consumer:
消费者,也就是结构消息的一方。消费者连接到kafka上并接收消息,进而进行相应的业务逻辑处理。
2.3 brkoer
服务代理节点。可以看作一个独立的kafka服务节点或者kafka的服务实例。
2.4 Topic 与 Partition
首先Topic(主题)与Partion(分区)都是逻辑上存在的,在Kafka中的消息以主题为单位进行归类。生产者负责将消息发送到特定的主题。而消费者负责订阅主题并进行消费。
然后,主题还可以细分为多个分区一个分区只能属于单个主题,并且同一主题下的各个分区包含的消息数据也是不同的,分区在存储层面可以看作一个可追加的日志(Log)文件,消息被追加到分区分区日志文件的时候都会分配一个特点的偏移量(offset)。offset是消息在分区中的唯一标识,Kafka通过它来保证消息在分区内的顺序性。
最后Kafka保证的是分区有序而不是主题有序。
2.5 AR (Assigned Replicas)
分区中的所有副本称为AR
2.6 ISR(In-Sync Replicas)
所有与leader副本保持一定程度同步的副本(包括leader副本在内)组成了ISR。
2.7 OSR (Out-of-Sync Replicas)
与leader副本同步滞后过多的副本(不包括leader副本)组成OSR。
2.8 HW (High Water-mark)
高水位,它标识了一个特定的消息偏移量(offset),消费者只能拉取到这个offset之前的消息。
2.9 LEO (Log End Offset)
它标识当前日志文件中下一条待写入消息的offset,如下图所示,offset为9的位置即为当前日志文件的LEO,LEO的大小相当于当前日志分区中最后一条消息的offset加1。