请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于rocketmq使用mmap不使用sendfile的问题

老师,我在学rocketmq中关于零拷贝的地方遇到了一些疑问,如果您能帮我解惑一下是最好了!我查阅百度的相关资料,rocketmq中关于零拷贝使用的是linux系统中的mmap技术,而kafka对于零拷贝的技术实现是sendfile。我刚开始比较好奇为什么rocketmq为什么不使用和kafka一样的sendfile,百度后得出的答案是,相对于sendfile的大容量传输,mmap的小容量传输更适合rocketmq,而rocketmq由于是用java开发的,大对象会对jvm的垃圾回收机制有一定影响,故选择了mmap。所以,我的问题是为什么mmap传输的容量比sendfile小,我百度了一些资料,没有得到满意的答案,如果老师有思路的话,就太好了!图片描述

正在回答

1回答

mmap,和sendfile,本质上差不多,所以选择那种都无可厚非。mmap适合的场景,sendfile也都差不多,至于rmq为什么选择mmap,个人觉得更方便做内存处理操作
另外这种细节没必要太多关注,具体如何发送的消息我个人理解都可以

0 回复 有任何疑惑可以回复我~
  • 提问者 index2 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-09-18 11:15:54
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信