衡量一个MQ的指标: 性能吞吐,数据存储,集群架构
MQ使用场景:异步处理,应用解耦,流量削峰,消息通信
1.ActiveMQ
ActiveMQ是Apache的开源消息组件,完全支持JMS规范
集群模式:主备模式,网关模式(两个或者多个主备模式通过网络连接组成的模式)
优点:
- 由于出现时间较早,所以支持丰富的API
缺点:
- 吞吐量低,由于ActiveMQ需要建立索引,就导致吞吐量相对于其他MQ较低,在出现消息产生快,要求消费快的情况下是不适用的。会产生消息堆积。
- 无分片功能:一个服务器不能承受更多消息,则需要横向拆分,ActiveMQ不支持。
适用场景:TPS较低的情况。
2.KaFKa
只关注吞吐量,不在乎消息的重复和丢失。使用内存的存储,但是不支持事务
3.RocketMQ
纯Java开发,有高吞吐量,高可用性,适合于大型分布式场景,思路借鉴的KaFKa,顺序消费,但是维护比较麻烦。 很多功能只有商业版提供。所以抛弃
4.RabbitMQ
基于AMQP协议,数据一致性高,吞吐量较好。
浙公网安备 33010602011771号