MQ(MessageQueue)介绍

        MQ(MessageQueue)消息队列,先进先出的数据结构。消息由生产者发送到MQ进行排队,消费者按照顺序进行消费。

优点:

  • 异步:能提高系统的响应速度、吞吐量。
  • 解耦:服务之间进行解耦,才可以减少服务之间的影响。提高系统整体的稳定性以及可扩展性。
  • 削峰:以稳定的系统资源应对突发的流量冲击。

缺点:

  • mq宕机导致系统不可用,系统可用性降低
  • 系统复杂度提高,需要考虑消息延迟、消息重复等问题、。
  • 消息一致性问题,通过MQ发送消息给B、C系统进行后续的业务处理。如果B系统处理成功,C系统处理失败。

常用的MQ产品比较:

特性

ActiveMQ

RabbitMQ

RocketMQ

Kafka

语言

java

erlang

java

csala

单机吞吐量

万级

万级

10万级

10万级

时效性

毫秒级

微秒级

毫秒级

毫秒级

可用性

高,基于主从架构实现高可用

高,基于主从架构实现高可用

非常高,分布式架构

非常高,分布式架构。一个数据多个副本,少数机器宕机,不会丢失数据,不会导致不可用。

消息可靠性

有较低的概率丢失数据

通过配置可以0丢失

通过配置可以0丢失

优劣势总结

功能强大,非常成熟。社区维护少,偶尔会有数据丢失,适合小规模场景使用。

erlang语言开发读源码相对困难,性能很好,延时低,吞吐量较低。适合小规模场景。

接口简单易用,大规模吞吐,性能好,支持分布式扩展,支持大规模的topic数量,支持复杂MQ业务场景。java语言可自己阅读源码。适合大部分场景

kafka就是提供较少的核心功能,提供超高的吞吐量,秒级的延迟,高可用和可靠性,支持少量的topic,消息可能重复消费。主要适用于日志分析,大数据采集。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值