RocketMQ 的优缺点
RocketMQ 的优缺点
·
目前消息队列作为中间件可以为系统带来很多意想不到的好处。RocketMQ 作为消息队列之一被大多数公司采纳并使用。
选择中间件的可以从可靠性,性能,功能,可运维性,可拓展性,社区活跃度等几个维度来考虑。目前常用的几个中间件,ActiveMQ 作为“老古董”,市面上用的已经不多,其它的如 RabbitMQ、kafak、RoctetMQ 的特点为:
RabbitMQ:优点:轻量,迅捷,容易部署和使用,拥有灵活的路由配置;缺点:性能和吞吐量不太理想,不易进行二次开发
RocketMQ:优点:性能好,高吞吐量,稳定可靠,有活跃的中文社区;缺点:兼容性上不是太好
Kafka:优点:拥有强大的性能及吞吐量,兼容性很好;缺点:由于“攒一波再处理”导致延迟比较高
RocketMQ 使用最广,其详细优缺点为:
RocketMQ 优点:
- 单机吞吐量:十万级
- 可用性:非常高,分布式架构
- 消息可靠性:经过参数优化配置,消息可以做到 0 丢失
- 功能支持:MQ 功能较为完善,还是分布式的,扩展性好
- 支持 10 亿级别的消息堆积,不会因为堆积导致性能下降
- 源码是 Java,方便结合公司自己的业务进行二次开发
- 天生为金融互联网领域而生,对于可靠性要求很高的场景,尤其是电商里面的订单扣款,以及业务削峰,在大量交易涌入时,后端可能无法及时处理的情况
- RoketMQ 在稳定性上可能更值得信赖,这些业务场景在阿里双11已经经历了多次考验
RocketMQ 缺点:
- 支持的客户端语言不多,目前仅支持 Java 及 C++,而且 C++ 还不成熟
- 没有在 MQ 核心中去实现 JMS 等接口,有些系统要迁移需要修改大量代码
当前好多系统都是面向用户的 C 端系统,具有一定的并发量,对性能也有比较高的要求,结合 RocketMQ 低延迟、吞吐量比较高的特点,RocketMQ 被越来越多的公司使用。
更多推荐
已为社区贡献5条内容
所有评论(0)