一 基本信息
topic:test4
副本:2
分区:3
二 调整目标
test4-0: 202 204
test4-1: 202 204
test4-2: 202 204
三 调整命令
0号分区 1号分区 2号分区
kafka-topics.sh --zookeeper s202:2181 --replica-assignment 202:204,202:204,202:204 --topic test4 --create
四 细节
1 消费的消息状态由消费者维护。
2 消息立即写入OS kernel page,缓存和写入到磁盘是可配置的。
3 消息在消费后,也可以长时间(一周)驻留在broker上,可以让消费者重复消费。
4 Kafka消息消费在消费者层面维护。
5 消费的偏移量是指消费消息的个数。每个消费者组在该分区上消费消息。
/consumers/console-consumer-6678/offsets/test4/0
6 压缩存储
[config/producer.properties]
compression.type=none|gzip|lz4|snappy
消息header中的最后两个位进行表示
00 //不压缩
7 replication(副本)
broker以消息达到顺序进行存储,对每个主题可以配置分区。
副本技术可以保证broker故障,消息仍能被生产和消费。(容灾)
Kafka如果共有n个副本,则可以容忍n-1个broker故障。
isr:in-sync replica 同步副本。
五 Kafka镜像
六 Kafka支持的副本模式
1 同步副本
生产者从zk中确认leader,发送消息。消息写入leader的log,followers从leader pull出消息,一旦消息被写入本地,回传确认消息给leader,如果leader收到所有消息,再发送确认消息给producer。
消费者从leader得到消息。
2 异步副本
只要leader写入本地log,即刻发送ack消息给producer。