06 kafka吞吐量高的原因

vvEcho 2024-02-26 14:13:51
Categories: Tags:
  1. kafka将topic划分为多个分区,每个分区独立读写;生产者负载均衡,避免了单个分区的压力;
  2. 同一个消费组内的多个实例分别处理不同分区,提高了消费的吞吐
  3. kafka的消息时追加写,避免了随机磁盘寻址,顺序写的速度接近内存的操作
  4. kafka采用异步刷盘机制,消息和索引的写入先写入操作系统的页缓存,再刷盘到磁盘,避免了频繁的磁盘IO,提高吞吐
  5. 消费者在拉取数据时,采用了零拷贝技术,将数据从页缓存通过sendfile()发送到网卡
  6. 另外kafka的索引机制是通过偏移量及时间戳来定位消息的,减少了全盘扫描的开销