美文网首页
消息队列

消息队列

作者: 化蝶飞618 | 来源:发表于2019-12-19 10:26 被阅读0次

    MQ的作用

    • 消息通信
      MQ的基础功能即为消息通信。使用MQ的客户端可以将消息发送到MQ中,也可以从MQ中消费消息。
    • 异步处理
      MQ作为一个数据传输的通道,可以将消息传输异步化。生产者将消息生产放入MQ中,可以继续生产其他消息,不要求获得消费者的消费信号之后再生产。
      MQ也可以将RPC异步化。传统的RPC直接调用,可以转化为调用方生产消息,将原本RPC请求的内容放在消息体中,然后由RPC的被调用方去消费消息并进行处理。如果有返回结果,可以将结果再通过另外一个队列发送给调用方。
    • 应用解耦
      以订单系统和库存系统为例,用户下单后,订单系统需要通知库存系统。
      传统模式中,假如库存系统无法访问,则订单减库存将失败,从而导致订单失败。 订单系统与库存系统耦合。
      引入MQ,用户下单后,订单系统:完成持久化处理,将消息写入消息队列,返回用户订单下单成功;库存系统:订阅下单的消息,采用拉/推的方式,获取下单信息,库存系统根据下单信息,进行库存操作。他们直接交互的只有MQ服务,从而实现应用解耦。
    • 削峰控流
      在一些应用场景中,经常出现某种消息流量激增的情况,比如秒杀活动中的用户请求。这种情况下,下游业务可能来不及处理导致整个服务崩溃。引入MQ后,流量激增的消息可以缓存入队列中,下游业务缓慢消费,尽管有一定的延迟,但能保证整体服务稳定运行。

    相关文章

      网友评论

          本文标题:消息队列

          本文链接:https://www.haomeiwen.com/subject/qoqmnctx.html