**第1章 Kafka
ISR:与leader保持同步的follower集合<br /> AR:分区的所有副本
LEO:没个副本的最后条消息的offset<br /> HW:一个分区中所有副本最小的offset
每个分区内,每条消息都有一个offset,故只能保证分区内有序。
拦截器 -> 序列化器 -> 分区器
正确
offset+1
先提交offset,后消费,有可能造成数据的重复
1)会在zookeeper中的/brokers/topics节点下创建一个新的topic节点,如:/brokers/topics/first<br /> 2)触发Controller的监听程序<br /> 3)kafka Controller 负责topic的创建工作,并更新metadata cache
可以增加
bin/kafka-topics.sh —zookeeper localhost:2181/kafka —alter —topic topic-config —partitions 3
不可以减少,被删除的分区数据难以处理。
__consumer_offsets,保存消费者offset
一个topic多个分区,一个消费者组多个消费者,故需要将分区分配个消费者(roundrobin、range)
每个分区对应一个文件夹,文件夹的命名为topic-0,topic-1,内部为.log和.index文件
![image.png](https://cdn.nlark.com/yuque/0/2020/png/626920/1583414563551-9321eb77-30d1-4a11-8f6f-734b657f52ff.png#align=left&display=inline&height=286&name=image.png&originHeight=286&originWidth=502&size=17760&status=done&style=none&width=502)
负责管理集群broker的上下线,所有topic的分区副本分配和leader选举等工作。
partition leader(ISR),controller(先到先得)
不能及时与leader同步,暂时踢出ISR,等其追上leader之后再重新加入
分区,顺序写磁盘,0-copy