MQ - 几种消息中间件介绍

Posted on 2020-03-29 15:04  一个灵活的胖子  阅读(357)  评论(0)    收藏  举报

衡量一个MQ的指标: 性能吞吐,数据存储,集群架构

MQ使用场景:异步处理,应用解耦,流量削峰,消息通信

1.ActiveMQ

  ActiveMQ是Apache的开源消息组件,完全支持JMS规范

  集群模式:主备模式,网关模式(两个或者多个主备模式通过网络连接组成的模式)

  优点:

  1. 由于出现时间较早,所以支持丰富的API

  缺点:

  1. 吞吐量低,由于ActiveMQ需要建立索引,就导致吞吐量相对于其他MQ较低,在出现消息产生快,要求消费快的情况下是不适用的。会产生消息堆积。
  2. 无分片功能:一个服务器不能承受更多消息,则需要横向拆分,ActiveMQ不支持。

  适用场景:TPS较低的情况。

2.KaFKa

  只关注吞吐量,不在乎消息的重复和丢失。使用内存的存储,但是不支持事务

3.RocketMQ

  纯Java开发,有高吞吐量,高可用性,适合于大型分布式场景,思路借鉴的KaFKa,顺序消费,但是维护比较麻烦。  很多功能只有商业版提供。所以抛弃

4.RabbitMQ

  基于AMQP协议,数据一致性高,吞吐量较好。

 

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3