高吞吐低延迟的高并发、高性能的KAFKA原理
kafka在大数据领域有着极其广泛的应用。一个配置好的kafka集群能够达到几十万甚至上百万的并发写入。
kafka的这种高性能可以从两个方面来进行描述:
写
在kafka进行数据写入时,采用 页缓存技术和磁盘顺序写。
页缓存技术:
在kafka每次接收到数据都会往上磁盘进行写数据。
但是这样是有一个问题:把数据写入到磁盘上,这样的工作效率是很低的。
在kafka中,已经解决掉了这个问题,采用的是:页缓存技术。
如上图所示:在kafka把数据写入到磁盘之前,先写入到一块叫page cache的缓存中。
page cache:操作系统本身有一层缓存,叫做 page cache ,是内存里的缓存,也可以称之为 OS cache 。即操作系统自己管理的缓存。
在kafka中是把消息写入到OS cache缓存中,也仅仅是写入到OS cache 中,然后由这块内存自己来决定什么时候来写入到磁盘中。