kafka的高吞吐量
- 顺序写方式存储数据:频繁的io(网络io和磁盘io)
- 批量发送:batch_size/linger.ms
- 零拷贝,FileChannel.transferTo
日志策略
日志保留策略
时间和大小
日志压缩策略
消息可靠性机制
消息发送可靠性
消息存储可靠性
Partition的规则
高可靠性的副本 —replication -factor表示副本
Leader选举
- 数据同步
- leader选举
ISR(副本同步队列)
维护的是有资格的follower节点
- 副本的所有节点都必须要和zookeeper保持连接状态
- 副本的最后一条信息的offset和leader副本的最后一条消息的offset必须小于阀值,可以设置
HW&LEO
自动提交
手动提交
消息的消费原理
老版本的kafka的offset进度维护在zk上,新版本的kafka是维护在topic上
Random策略
ribbon策略
阻塞非阻塞 相对于数据
同步异步 相对于IO操作
常用命令
创建topic:kafka-topic.sh –create –zookeeper localhost:2181 –replication-factory 3 —topic test
查看topic:kafka-topic.sh –describe –zookeeper localhost:2181 –topic test
产生消息:kafka-console-producer.sh –broker-list localhost:9092 –topic test
消费消息:kafka-console-consumer.sh –bootstrap-server localhost:9092 –from-beginning –topic