【消息中间件】常见消息中间件的介绍和对比( 二 )


RocketMQ
RocketMQ是阿里开源的消息中间件 , 它是纯Java开发 , 具有高吞吐量、高可用性、适合大规模分布式系统应用的特点 。RocketMQ思路起源于Kafka , 但并不是Kafka的一个Copy , 它对消息的可靠传输及事务性做了优化 , 目前在阿里集团被广泛应用于交易、充值、流计算、消息推送、日志流式处理、binglog分发等场景 。支持的客户端语言不多 , 目前是Java及C++ , 其中C++还不成熟;
Kafka、RabbitMQ、RocketMQ对比
【消息中间件】常见消息中间件的介绍和对比
文章图片

文章图片

1、Rabbitmq比kafka可靠 , kafka更适合IO高吞吐的处理 , 比如ELK日志收集 。
2、kafka具有高的吞吐量 , 内部采用消息的批量处理 , zero-copy机制 , 数据的存储和获取是本地磁盘顺序批量操作 , 具有O(1)的复杂度 , 消息处理的效率很高 。rabbitMQ在吞吐量方面稍逊于kafka , 他们的出发点不一样 , rabbitMQ支持对消息的可靠的传递 , 支持事务 , 不支持批量的操作;基于存储的可靠性的要求存储可以采用内存或者硬盘 。


推荐阅读