Kafka如何实现高吞吐的原理

缓冲区大小,批次大小,linger.ms(间隔时间),压缩

  1. 顺序读写
    kafka的消息不断追加到文件中,所以kafka可以充分利用磁盘的顺序读写性能。顺序读写不需要硬盘磁头的寻道时间,只需要很少的扇区旋转时间,所以速度远大于随机读写。
  2. 零拷贝
    kafka把所有的消息放在一个文件中,当消费者需要数据的时候直接将文件发送给消费者。
  3. 分区分段
    Kafka的队列被分为多个分区partition,每个partition又分为多个段segment。所以队列中的消息实际上是保存在N多个片段文件中。通过分段方式,每次文件操作都是对一个小文件的操作,非常轻便,同时也增加并行处理能力。
  4. 批量发送
    Kafka允许进行批量发送消息,现将消息缓存在内存中,然后一次请求批量发送出去,达达减少服务端的次数。
  5. 数据压缩
    Kafka支持对消息集合进行压缩,Producer可以通过Gzip或snappy格式对消息集合进行压缩。减少传输的数据量,减轻对网络传输的压力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值