请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

超时空恋爱社 Kafka为什么会这么快最爱第三者ttiumph中岛由纪惠

[复制链接]
查看: 15|回复: 0

2万

主题

2万

帖子

8万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
80756
发表于 2020-3-29 23:46 | 显示全部楼层 |阅读模式
这是写在帖子头部的内容在系统计划中,会用到消息中心件来做办事异步化,系统解耦,大如果做流量削峰,常用的消息中心件有rabbitMq,activeMq以及阿里的RocketMq等等,都各自有各自的上风,可是就吞吐量来说,kafka是其中的佼佼者。在单机情况下,网友做的对照以下:
Kafka为什么会这么快最爱第三者ttiumph  新闻资讯
性能对照

为什么kafka会这么快呢?
公布定阅形式

一个普通的公布定阅模子以下图所示:
Kafka为什么会这么快最爱第三者ttiumph  新闻资讯
公布定阅形式

以kafka为例,生产者发生消息,并将消息Push到kafka集群,消耗者自动去kafka集群Pull数据。这类模子有个优点,消耗的速度完全由消耗者控制,kafka集群类似于一个蓄水池,禁止因生产者发生消息过快消耗者来不及消耗而致使消耗者被压垮的现象。
kafka为什么快要从两方面分析,生产者发生的消息写入集群时快和消耗者消耗消息时从集群读取快。
写入快

写入快垂危是两方面原因原由:顺序写入和MMFile。
顺序写入
kafka将消息存储在硬盘,凡是以为硬盘的读写是比力慢,可是为什么kafka快呢?平常所说的磁盘读写慢是指随机读写比力慢,由于磁盘每次随机读写都要物理寻址,这黑白常耗时的操纵,顺序读写的速度还是比力快的。以下图所示:
Kafka为什么会这么快最爱第三者ttiumph  新闻资讯
顺序写入

kafka每次收到新的消息以后城市将消息存储在尾部,依照顺序存储消息。可是消息一旦存储没法删除。
当消耗者消耗时也是顺序消耗,每个消耗者会有一个偏移量,记录当前消耗的消息的位置。以下图所示:
Kafka为什么会这么快最爱第三者ttiumph  新闻资讯
顺序消耗

MMFile
MMFile是指Memory Mapped Files,即内存映照技术。操纵系统为了治理内存和硬盘读写速度之间的差别,采纳了内存映照技术,内存被别离为几多页,每一页被映照到一块磁盘空间,由于内存是远远小于磁盘空间的,所以分页经常会依照必定的算法加载到内存,例如先辈先出(FIFO),近来最少操纵(LRU)等。内存平分页和磁盘空间对应,操纵系统会在合适的时候将内存分页中的数据按时刷磁盘中去。这类方式为什么可以进步写入服从呢?凡是CPU实行进程中为了平安分为内核态和用户态。只要内核态才华操纵iO装备,内存空间分为内核空间和用户空间。凡是内存中的数据写入到磁盘要以下几步:
Kafka为什么会这么快最爱第三者ttiumph  新闻资讯
write操纵

数据会先从用户空间拷贝到内核空间,然后再由内核空间写入IO装备。而MMFile则省去了一次用数据从户空间到内核空间复制的开销。
读取快

读取快垂危是由于零拷贝(Zero Copy)技术。上面先容到数据从内存空间写入磁盘的步伐,那末从磁盘读取数据恰好相反,具体进程以下:
Kafka为什么会这么快最爱第三者ttiumph  新闻资讯
read操纵

数据先从磁盘读取到内核空间,然后再从内核空间复制到用户空间,然后再到Socket,末了传输到消耗者。
Linux供给了一种sendFile系统挪用,可以将数据间接由磁盘拷贝到内核空间。省去了一次数据从用户空间到内核空间的复制。这就是所谓的零拷贝技术。
上面从读写两个角度分析了为什么kafka吞吐量高,实在另有一个垂危的原因原由。
批量数据紧缩

kafka不会对每个消息都做紧缩,而是对一批消息紧缩,然后将数据同一发送。将全数的消息变成一个批量文件,然后间接丢给消耗者。
综上所述,kafka经过MMFile技术快速将数据顺序写入磁盘,在读取时经过零拷贝技术快速读取,然后经过批量数据紧缩将数据传输到消耗者。这就是kafka快的秘诀。但是鱼与熊掌不成兼得,速度和牢靠性不大要同时满足,必要按照现实营业情况在两者之间作出取舍。例如当用kafka做日志聚合和网站用户行为分析时速度要比牢靠性垂危,而在某些消息不答应丧失的场景,牢靠性大如果首选。

免责声明:假如加害了您的权益,请联系站长,我们会实时删除侵权内容,感谢合作!
感激您的阅读
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 广西红豆社区论坛-广西新闻网-广西日报-广西新闻在线-广西人的网上家园 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表