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是业内标准的,绝对没问题,社区活跃度很高,绝对不会黄,何况几乎是全世界这个领域的事实性规范

最新文章

  1. 【修改 UITextField 中 placeholder 的顏色】
  2. CentOS6.3搭建Nginx代理访问MongoDB GridFS图片资源
  3. 在MVC中使用async和await的说明
  4. 76.Android之EventBus源码解析
  5. android一键分享功能不使用任何第三方sdk
  6. hdu 1465:不容易系列之一(递推入门题)
  7. POJ C程序设计进阶 编程题#4:寻找平面上的极大点
  8. Oracle无法drop用户,提示有连接不能删除时
  9. BZOJ 3107 二进制a+b
  10. C++程序设计实践指导1.12数组中数据线性变换改写要求实现
  11. UITextField键盘类型
  12. .NET Core微服务之基于Apollo实现统一配置中心
  13. LeetCode 简单等级
  14. python多线程-共享全局变量
  15. layui中的submit提交本地数据在控制在输出为空数组(解决)
  16. 133. Clone Graph(图的复制)
  17. [leetcode]3. Longest Substring Without Repeating Characters无重复字母的最长子串
  18. vue 前端框架 目录
  19. 深入浅出的webpack4构建工具---比mock模拟数据更简单的方式(二十一)
  20. oracle11g客户端配置及使用(Windows系统)

热门文章

  1. unittest管理用例生成测试报告
  2. Linux chage命令详解
  3. rsync异常处理
  4. Java httpclent请求httpclentUtils工具类
  5. Httpd服务进阶知识-LAMP架构概述
  6. 详解Spring缓存注解@Cacheable,@CachePut , @CacheEvict使用
  7. PAT 乙级 1004.成绩排名 C++/Java
  8. P4281 [AHOI2008]紧急集合 / 聚会[LCA]
  9. 追光的人对Echo,SkyReach的Beta产品测试报告
  10. python应用-传入年月日 输出为一年的第几天