消息队列选型问题

服务搭建问题

目前阿里云针对RabbitMQ、RocketMQ和Kafka均提供了PAAS级别的服务,使用者可以直接在阿里云平台创建使用,避免了本地自建的麻烦和监控运维,开箱即用,方便基于业务量横向扩展。

RocketMQ 阿里云产品官网
RabbitMQ 阿里云产品官网
Kafka 阿里云产品官网

产品对比

考虑维度:可靠性,性能,功能,SDK支持,可拓展性等

产品 优点 缺点
RocketMQ 性能好,稳定可靠,延迟低,消息轨迹功能强大 TCP SDK语言支持有限,Http SDK性能较差
RabbitMQ 轻量,迅捷,拥有灵活的路由配置,SDK语言支持丰富 性能和吞吐量较差,不易进行二次开发
Kafka 拥有强大的性能及吞吐量,兼容性很好 因为其本身最求高吞吐,延迟较高

选型原则

1、如果消息队列并不是将要构建系统的主角之一,且对消息队列功能和性能都没有很高的要求,只需要一个开箱即用易于维护的消息中间件产品,建议使用RabbitMQ;

2、如果系统使用消息队列主要场景是处理在线业务,比如在交易系统中用消息队列传递订单,建议优先考虑可以支持金融级延迟的RocketMQ,其强大的消息轨迹方便对消息的跟踪定位;

3、如果是需要处理海量的消息,像收集日志、监控信息或是前端的埋点这类数据,或是应用场景大量使用了大数据、流计算相关的开源产品,Kafka是最好的选择。

参考链接

该如何选择消息队列
新手也能看懂,消息队列其实很简单

上一篇:阿里云物联网平台设备上下线钉钉机器人告警


下一篇:RabbitMQ 2.6.0 RC 3 发布,AMQP 消息服务器