codecamp

主流消息队列对比(kafka、Rabbitmq、Rocketmq)

主流的消息队列有以下几种:

  • KafkaApache开源的消息队列,主要应用于大数据方向上; 1. Kafka是linkedin开源的MQ系统,主要特点是基于Pull的模式来处理消息消费,追求高吞吐量; 2. 常常用于日志收集和传输; 3. 0.8开始支持复制,不支持事务,适合产生大量数据的互联网服务的数据收集业务;
  • RabbitMQ1. RabbitMQ是一个AMQP实现,传统的messaging queue系统实现,基于Erlang。 2. AMQP协议更多用在企业系统内,对数据一致性、稳定性和可靠性要求很高的场景
  • RocketMQ阿里巴巴在2012年开源的分布式消息中间件,目前已经捐赠给Apache基金会
  • CMQ腾讯云分布式高可靠消息队列服务

从上面我们看到,如果应用于大数据上,那么毫无疑问就是使用了kafka了, 如果追求对数据一致性、稳定性和可靠性要求很高的场景那么就选择Rabbitmq, 不过对于个人选择,我会选择rocketmq, 我认为Rocketmq真的太强大,是一个真正 在线上在规模应用的消息队列!

主流消息队列对比

    •  
    • RabbitMQ
    • RocketMQ
    • CMQ
    • Kafka
    • 模式
    • 发布订阅
    • 发布订阅
    • 传统 queue/发布订阅
    • 发布订阅
    • 同步算法
    • GM
    • 同步双写
    • Raft
    • ISR(Replica)
    • 分布式扩展
    • 支持
    • 支持
    • 支持
    • 堆积能力
    • 磁盘容量
    • 磁盘容量
    • 磁盘(水平扩展)
    • 磁盘(水平扩展)
    • 性能
    • 很高
    • 可靠性
    • 一般
    • 一般
    • 极高
    • 一般
    • 持久化
    • 内存 /硬盘
    • 磁盘
    • 磁盘
    • 磁盘


RocketMQ Java 客户端封装
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }