MQ产品选型

如今市面上有非常多的MQ产品,如比较老牌的activemq,阿里出品双十一功臣rocketmq,社区火爆功能丰富的rabbitmq,大数据领域专属kafka,超速度的zeromq等等等。但是在实际选型中难免还是比较纠结,下面我们就一起来看一下各个mq的优缺点以及如何来选择MQ产品。

产品介绍

以下产品都支持mq的基本使用场景,如消息点对点发送/消费,发布订阅,流量肖锋,异步处理。

active

这是一款比较老牌的mq产品,现阶段使用的人群已经不是很多了,大多出现在一些老项目中。如果是考虑选型的话可以跳过这个产品了。

rocketmq

此产品由阿里开源,目前已经捐献给apache。社区活跃度还算比较高。在性能方面,它的优势就是java编写,吞吐量高,且在高并发状态下稳定性高(经历过双十一考验)。在功能方面它的初衷就是作为一个消息中间件来设计的,所以基本支持在消息的投递方面的所有功能,比如事务性投递,延迟投递,顺序消费等等等。

rabbitmq

社区活跃度很高,此产品的一大特点就是功能是众多,其本身就提供了如优先级队列等功能,此外它还支持插件,可以由插件来扩展功能。所以它是对各种业务场景支持最好的mq。

kafka

它是大数据场景下的绝对霸主,其独特的流处理api和对各种大数据产品的支持都是其他mq无法比拟的。但它的功能并不是很丰富,它的设计初衷是为了应付海量数据的收发,所以并没有其他两点的功能,只是单一的消息收发。

如何选型

如果想知道如何选型,还是需要了解各个mq产品的优势以及实现原理,这需要很长时间的知识和经验积淀。如果您是经验丰富开发人员,那就不需要看下面的内容了。

如果您想选择activemq,那您的mq使用场景可以是:

没有场景,目前activemq的使用已经比较少了,基本可以用别的mq来代替它,虽然不能100%代替,但是其使用者太少,社区也不算活跃了,没必要再去使用。

如果您想选择rocketmq,那您的mq使用场景可以是:

1.高并发场景下的消息收发和流量肖锋,比如双11秒杀,12306卖票。

2.分布式事务的实现。rocketmq目前是分布式事务的最佳实现产品

rocketmq在这方面是非常有优势的,因为已经经历过阿里双11的考验。

如果您想选择rabbitmq,那您的mq使用场景可以是:

1.需要mq支持多协议,比如物联网行业比较火热的mqtt协议,STOMP协议等等等。

2.需要复杂业务处理的系统,rabbitmq有很多业务功能支持,比如优先级队列,延迟队列等,此外还可以根据业务场景自定义插件来支持业务场景。

如果您想选择kafka,那您的mq使用场景可以是:

1.日志同步,用户行为同步这种数量大,流量高,可以容忍消息丢失

2.需要与其他大数据框架对接,比如数据先到kafka再到spark的场景,kafka可以直接与spark等框架对接,比较方便。

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值