MQ的分类

1.ActiveMQ

优点:单机吞吐量万级,时效性 ms 级,可用性高,基于主从架构实现高可用性,消息可靠性较低的概率丢失数据

缺点:官方社区现在对 ActiveMQ 5.x 维护越来越少,高吞吐量场景较少使用。

2.Kafka

大数据的杀手锏,谈到大数据领域内的消息传输,则绕不开 Kafka,这款为大数据而生的消息中间件,以其百万级 TPS 的吞吐量名声大噪,迅速成为大数据领域的宠儿,在数据采集、传输、存储的过程中发挥着举足轻重的作用。目前已经被LinkedIn,Uber, Twitter, Netflix 等大公司所采纳。

优点: 性能卓越,单机写入 TPS 约在百万条/秒,最大的优点,就是吞吐量高。时效性 ms 级可用性非常高,kafka 是分布式的,一个数据多个副本,少数机器宕机,不会丢失数据,不会导致不可用,消费者采用 Pull 方式获取消息, 消息有序, 通过控制能够保证所有消息被消费且仅被消费一次;有优秀的第三方Kafka Web 管理界面 Kafka-Manager;在日志领域比较成熟,被多家公司和多个开源项目使用;功能支持:功能较为简单,主要支持简单的 MQ 功能,在大数据领域的实时计算以及日志采集被大规模使用

缺点:Kafka 单机超过 64 个队列/分区,Load 会发生明显的飙高现象,队列越多,load 越高,发送消息响应时间变长,使用短轮询方式,实时性取决于轮询间隔时间,消费失败不支持重试;支持消息顺序,但是一台代理宕机后,就会产生消息乱序,社区更新较慢;

3.RocketMQ

RocketMQ 出自阿里巴巴的开源产品,用 Java 语言实现,在设计时参考了 Kafka,并做出了自己的一些改进。被阿里巴巴广泛应用在订单,交易,充值,流计算,消息推送,日志流式处理,binglog 分发等场景。

优点:单机吞吐量十万级,可用性非常高,分布式架构,消息可以做到 0 丢失,MQ 功能较为完善,还是分布式的,扩展性好,支持 10 亿级别的消息堆积,不会因为堆积导致性能下降,源码是 java 我们可以自己阅读源码,定制自己公司的 MQ

缺点:支持的客户端语言不多,目前是 java 及 c++,其中 c++不成熟;社区活跃度一般,没有在 MQ核心中去实现 JMS 等接口,有些系统要迁移需要修改大量代码

4.RabbitMQ

2007 年发布,是一个在 AMQP(高级消息队列协议)基础上完成的,可复用的企业消息系统,是当前最主流的消息中间件之一。

优点:由于 erlang 语言的高并发特性,性能较好;吞吐量到万级,MQ 功能比较完备,健壮、稳定、易用、跨平台、支持多种语言 如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持 AJAX 文档齐全;开源提供的管理界面非常棒,用起来很好用,社区活跃度高;更新频率相当高
https://www.rabbitmq.com/news.html

缺点:商业版需要收费,学习成本较高

[RabbitMQ]MQ 的分类相关推荐

  1. [RabbitMQ]MQ 的选择

    1.Kafka Kafka 主要特点是基于 Pull 的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输,适合产生大量数据的互联网服务的数据收集业务.大型公司建议可以选用,如果有日 ...

  2. RabbitMQ之Exchange分类

    为什么80%的码农都做不了架构师?>>>    转载于:https://my.oschina.net/fhd/blog/376368

  3. 三、RabbitMQ安装

    安装前准备 Linux版本信息: 发行版本:CentOS Linux release 7.5.1804 (Core) 内核版本:Linux version 3.10.0-862.el7.x86_64 ...

  4. Spring Boot(十三)RabbitMQ安装与集成

    一.前言 RabbitMQ是一个开源的消息代理软件(面向消息的中间件),它的核心作用就是创建消息队列,异步接收和发送消息,MQ的全程是:Message Queue中文的意思是消息队列. 1.1 使用场 ...

  5. 消息队列——RabbitMQ消息队列集群

    RabbitMQ消息队列集群 消息队列/中间件 RabbitMQ详解 RabbitMQ单机部署 RabbitMQ集群部署 消息队列/中间件 一.前言 在我们秒杀抢购商品的时候,系统会提醒我们稍等排队中 ...

  6. leyou商城day10 MQ介绍及详情静态页

    02.商品详情:分析渲染商品详情页需要的数据 分析item.html页面,得到渲染所需要的数据如下: List categories:三个分类对象的集合 Brand brand:品牌对象 String ...

  7. Rabbitmq安装以及入门

    8 RabbitMQ入门及安装 1 概述 官网:https://www.rabbitmq.com/ 什么是RabbitMQ,官方给出来这样的解释: RabbitMQ is the most widel ...

  8. RabbitMQ 学习笔记

    RabbitMQ 学习笔记 RabbitMQ 学习笔记 1. 中间件 1.1 什么是中间件 1.2 为什么要使用消息中间件 1.3 中间件特点 1.4 在项目中什么时候使用中间件技术 2. 中间件技术 ...

  9. Rabbitmq学习笔记(尚硅谷2021)

    Rabbitmq学习笔记 (尚硅谷) 1.MQ 的概念 1.1 什么是 MQ? 1.2 为什么要用 MQ? 削峰 解耦 异步 1.3 MQ 的分类 ActiveMQ Kafka RocketMQ Ra ...

最新文章

  1. 第十一篇:(顺序)容器的好伴侣 --- 容器适配器
  2. 红橙Darren视频笔记 Behavior的工作原理源码分析
  3. 调试人脸识别 无cpu版本出现的问题
  4. mssql 事务的一个例子
  5. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_1_字符编码和字符集...
  6. 广东技能大赛软件测试项目,我校喜获2019年全国职业院校技能大赛软件测试赛项二等奖...
  7. Atitit mybatis 配置 redis 集成 attilax总结 艾提拉总结 1.1. setting name=cacheEnabled v 1 1.2. Mapper文件 1 1.
  8. 1.hexo+next友情链接页面搭建
  9. matlab 压缩采样恢复,MATLAB|测试信号压缩采样
  10. 什么是类?以及类的分类
  11. MacOSx打包dmg文件(带背景图片)
  12. CentOS 7 安装 nodejs 及 npm 安装模块的常见问题
  13. 什么是PO设计(封装)?
  14. Android--耗电优化
  15. Kafaka的消息消费方式
  16. domain-transfer reid郑哲东 joint 判别和生成REID
  17. 2.Hadoop3.x 基础知识
  18. P0.9COB小间距LED显示技术的优势。
  19. GD32F4xx 以太网芯片(enc28j60)驱动移植
  20. Hadoop HDFS实现机架感知

热门文章

  1. C#ListView控件添加复选框并获取选中的数目
  2. C和指针之字符串编程练习9(在参数1中查找匹配参数2额任意字符)
  3. linux c之解决使用socket函数返回为0的问题
  4. Github怎么删除之前的项目
  5. 我让代码生了个孩子继承了他爸爸谁知他爸爸继承了他爷爷(16)
  6. 《看聊天记录都学不会C语言?太菜了吧》(10)程序媛聪明绝顶了
  7. 衡量计算机浮点数操作性能,计算机系统基础:计算机性能评价知识笔记
  8. 用高等数学“铲雪”!这个200多年前的证明太厉害了,有城市用它省了2000多万..........
  9. 首次公开!人教版1-9年级绝密编写:被重点中小学永久收录的数学教案和试题...
  10. 做生意最重要的诚信呢??? | 今日最佳