阿里中间件团队对 Kafka 和 RocketMQ 进行了性能压测,结果显示在相同条件下,Kafka 的性能比 RocketMQ 快 50%左右。然而,RocketMQ 依然能每秒处理 10 万条消息,这表明它在性能上依然非常强大。那么,为什么 RocketMQ 参考了 Kafka 的架构,却无法与 Kafka 保持相同的性能呢?以下是一些原因: 1.核心差异 mmap(内存映射) vs sendfile Kafka:使用 sendfile 函数进行零拷贝,以减少数据拷贝次数和系统内核切换次数,从而获得更高的性能。sendfile 返回的是发送成功的字节数,而应用层无法获取到消息内容。Ka...