• MQ的应用场景(异步处理)


    异步处理:

      场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种 1,串行的方式 2,并行的方式

    • 串行方式:将注册信息写入数据库后,发送注册邮件,在发送注册短信,以上三个任务全部完成之后才返回给客户端。这有一个问题是,邮件,短信并不是必须的,它只是一个通知,而这总做法让客户端等待没有必要等待的东西

      

    • 并行方式:将注册信息写入数据库后,发送邮件的同时,发送短信,以上三个任务完成后,返回给客户端,并行的方式能提高处理的时间

      

    • 消息列队:引入消息队列后,把发送邮件,短信不是必要的业务逻辑异步处理

    应用解耦

      场景:双11是购物狂节,用户下单后,订单系统需要通知库存系统,传统的做法就是订单系统调用库存系统的接口

        

      这总做法有一个缺点:

      当库存系统出现故障时订单系统就会失败。订单系统和库存系统高耦合

      消息队列:

        

      订单系统:用户下单后,订单系统完成持久化处理,将消息写入消息队列,返回用户订单下但成功。

      库存系统:订阅订单的消息,获取下单信息,进行库操作。就算库存系统出现故障,消息列队也能保证消息的可靠投递,不会导致消息丢失

    流量削峰

      场景:秒杀活动,一般会因为流量过大,导致应用挂掉,为了解决这个问题,一般在应用前端加入消息队列

      作用:

        1,可以控制活动人数,超过此阈值的订单直接丢弃

        2,可以缓解短时间的高流量压垮应用(应用程序安自己的最大处理能力获取订单)

          

      

  • 相关阅读:
    CF896C Willem, Chtholly and Seniorious 珂朵莉树
    LG2495 「SDOI2011」消耗战 虚树
    20191102 「HZOJ NOIP2019 Round #12」20191102模拟
    LG1345 「USACO5.4」Telecowmunication 最小割
    LG1344 「USACO4.4」Pollutant Control 最小割
    POJ1741 Tree 点分治
    [BZOJ2143]飞飞侠 并查集优化最短路
    [NOI.AC#41]最短路 线性基
    [NOI.AC#40]Erlang
    [BZOJ2238]Mst 最小生成树+树链剖分/并查集
  • 原文地址:https://www.cnblogs.com/yz-bky/p/13060714.html
Copyright © 2020-2023  润新知