Kafka介绍(一)

本文介绍了ApacheKafka,一个开源的分布式事件流平台,重点讲解了其如何通过使用页缓存、操作系统处理和零拷贝技术来实现高吞吐量和低延迟。生产者利用页缓存和追加写入优化写入性能,消费者则利用零拷贝技术提高读取速度。
摘要由CSDN通过智能技术生成
  1. 什么是kafka

           Apache Kafka 是一个开源分布式事件流平台(通俗点说其实就是一个类似中介的东西,房东将信息放入中介,客户咨询中介或者中介推送信息给咨询过的客户,获取消息),它的核心能力有,高吞吐量低延迟、可扩展、永久存储、高可用。还具有强大的生态系统。

   2.我们主要介绍一下kafka怎么保证高通吐低延迟

 kafka采用了如下方式保证了高通吐和低延迟:

kafka的写入(producter)如何保证高通吐和低延迟,是它采用了一种特殊的写入方法。它将数据并不是直接写入磁盘,而是写入了操作系统的页缓存中,然后由操作系统决定什么时候写入磁盘中。这种方式的好处是:

1.操作系统的页缓存是在内存中分配的。速度很快。

2.kafka不与底层文件系统交涉,而是将存储交给操作系统自己处理

3.kafka写入操作采用了追加的方式,避免了随机写的操作。

kafka的消费(consumer)如何保证高通吐和低延迟,在上面我们了解到写入时先写到页缓存,kafka在读取时先从操作系统的页缓存中读取数据,如果命中的话直接把页缓存的消息发送到网络上的socket上,在linux平台上利用了sendFile系统调用的。这种技术就是零拷贝技术(零拷贝技术是一个思想,指的是指计算机执行操作时,CPU 不需要先将数据从某处内存复制到另一个特定区域。)大大提高kafka消费消息的速度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值