MQ(消息队列)系列学习---常用MQ组件比较

前言

这是一个MQ的系列文章,主要由MQ的基础认识到深入了解,和针对不同业务对MQ的技术选型问题。通过文章了解不同MQ的各种区别,和使用MQ会存在的一些问题。

入门篇:MQ(消息队列)系列学习—MQ基础认识
基础篇:MQ(消息队列)系列学习—MQ组件优劣势比较
晋级篇:MQ(消息队列)系列学习—MQ如何保证消息队列高可用
在这里插入图片描述

1.文字总结

1.1 ActiveMQ

优点

  • 单机吞吐量:万级
  • topic数量都吞吐量的影响:
  • 时效性:ms级
  • 可用性:高,基于主从架构实现高可用性
  • 消息可靠性:有较低的概率丢失数据
  • 功能支持:MQ领域的功能极其完备

缺点

  • 社区维护较少,官方版本
  • 在大规模吞吐下性能较差

1.2 Kafka

优点

  • 单机吞吐量:十万级
  • 专为大数据准备,数据采集、传输、存储
  • 可用性:高,kafka是分布式
    缺点
  • 社区更新较慢
  • 支持消息顺序,但一台代理服务器宕机会导致消息乱序
  • 使用轮询,消息的实时性取决于轮询间隔时间
  • 消息有可能会被重复消费

1.3 RabbitMQ

优点

  • 由于是erlang语言开发,性能较好,支持高并发
  • 中小公司都选择它
  • 时效性最高
  • 社区活跃性高
  • 管理界面友好

缺点

  • 由于是erlang语言开发,不能定制开发。较难维护,不利于二次开发
  • 吞吐量较低

1.4 RocketMQ

优点

  • 阿里出品,基于java语言。已在阿里中订单、交易、充值、流计算各种高并发场景中使用
  • 单机吞吐量:最高(十万级)
  • 消息可靠性:那是相当可靠,杠杠的
  • 可以自己进行定制化开发

缺点

  • 支持命令行界面,可视化页面不太友好
  • 社区活跃性一般

2.MQ选择推荐

(1)中小型软件公司,建议选RabbitMQ.

1.支持高并发
2.管理界面友好
3.社区活跃,一般中小公司都选择该MQ进行开发,碰见bug在网上也能较快找到
4.消息时效性最高-微秒级

(2)大型软件公司,建议选择 RocketMQ

1.单机的吞吐量最高
2.消息可靠性极高,理论不会丢失。如有对消息可靠性有要求,那么RocketMQ首选
3.基于java开发,可以定制化开发
4.稳定性极好,阿里双11年年帮我们测试

(3)大型数据型公司,建议选Kafka

1.如果由日志采集功能、实时计算-Kafka首选
2.吞吐量极高
3.适合大数据,专门用于处理数据

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值