kafka的高吞吐量

  1. 顺序写方式存储数据:频繁的io(网络io和磁盘io)
  2. 批量发送:batch_size/linger.ms
  3. 零拷贝,FileChannel.transferTo

日志策略

日志保留策略

时间和大小

日志压缩策略

消息可靠性机制

消息发送可靠性

消息存储可靠性

Partition的规则

高可靠性的副本 —replication -factor表示副本

Leader选举

  1. 数据同步
  2. leader选举

ISR(副本同步队列)

维护的是有资格的follower节点

  1. 副本的所有节点都必须要和zookeeper保持连接状态
  2. 副本的最后一条信息的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