zoukankan      html  css  js  c++  java
  • RocketMQ、Kafka、RabbitMQ的对比

    RocketMQ 相比于 RabbitMQ、Kafka 具有主要优势特性有:

    • 支持事务型消息(消息发送和DB操作保持两方的最终一致性,RabbitMQ 和Kafka 不支持)
    • 支持结合 RocketMQ 的多个系统之间数据最终一致性(多方事务,二方事务是前提)
    • 支持18个级别的延迟消息(RabbitMQ 和 Kafka 不支持)
    • 支持指定次数和时间间隔的失败消息重发(Kafka不支持,RabbitMQ 需要手动确认)
    • 支持 consumer 端 tag 过滤,减少不必要的网络传输(RabbitMQ 和 Kafka不支持)
    • 支持重复消费(RabbitMQ 不支持,Kafka支持)

    Kafka、RocketMQ、RabbitMQ 的详细对比,请参照下表格:

     

     还有一些对比:

    综上所述,各种对比之后,我个人倾向于是:

    一般的业务系统要引入MQ,最早大家都用ActiveMQ,但是现在确实大家用的不多了,没经过大规模吞吐量场景的验证,社区也不是很活跃,所以大家还是算了吧,我个人不推荐用这个了;

    后来大家开始用RabbitMQ,但是确实erlang语言阻止了大量的java工程师去深入研究和掌控他,对公司而言,几乎处于不可控的状态,但是确实人是开源的,比较稳定的支持,活跃度也高;

    不过现在确实越来越多的公司,会去用RocketMQ,确实很不错,但是我提醒一下自己想好社区万一突然黄掉的风险,对自己公司技术实力有绝对自信的,我推荐用RocketMQ,否则回去老老实实用RabbitMQ吧,人是活跃开源社区,绝对不会黄 

    所以中小型公司,技术实力较为一般,技术挑战不是特别高,用RabbitMQ是不错的选择;大型公司,基础架构研发实力较强,用RocketMQ是很好的选择

    如果是大数据领域的实时计算、日志采集等场景,用Kafka是业内标准的,绝对没问题,社区活跃度很高,绝对不会黄,何况几乎是全世界这个领域的事实性规范

     

     

  • 相关阅读:
    19c 新特性: Hint Usage Reports详解
    byte buddy学习笔记
    彻底告别“人工+Excel”低效模式,传统制造业实现“一站式”数据化管理
    有的人想在上班之余做兼职,并且不想投入太多钱
    2019你为什不选择创业?是因为什么原因?
    深入理解pandas读取excel,txt,csv文件等命令
    劳务派遣公司是怎么盈利的?
    为什么穷人大多不敢创业?
    30多岁了仍一事无成,除了去工厂上班还有哪些出路?
    MySQL Change Data Directory
  • 原文地址:https://www.cnblogs.com/wjoyxt/p/11869135.html
Copyright © 2011-2022 走看看