Kafka介绍(一)

  1. 什么是kafka

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

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

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

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

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

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

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

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

你可能感兴趣的:(kafka,分布式)