zoukankan      html  css  js  c++  java
  • 消息队列的使用

    1、应用场景:

    适合大并发、高耗时、不需要立即返回结果的业务,例如秒杀、抢购

     2、对比:

    3、触发机制

     

     4、订单系统和配送系统案例(解耦)

    4.1、程序流程

    4.2、分析:

    order.php

    将用户下单添加到一张队列表中,状态为0表示未处理

     

    goods.php

    Linux每分钟执行此文件,将订单状态改为2,代表处理中,防止其他执行冲突,然后mysql从中每次取2条数据出来处理,完成以后把状态更新为1,表示订单处理成功

     

    任务脚本——goods.sh

     

    创建每分钟执行的定时任务并保存日志

     

    日志:

     

    这样,订单系统出现故障的话配送系统是不会出现影响的,便实现了业务的解耦

     

    5、redis的list类型实现秒杀案例

    双向链表,可从头部追加元素,也可以从尾部主加元素

    逻辑设计:

     

    接收用户请求,将其存入redis(时间戳存微秒)

     使用死循环将redis的数据存到数据库中

     

     

  • 相关阅读:
    ajax
    cookie
    JavaScript基本语法
    HTML css 格式布局
    HTML 表单
    html 一般标签 常用标签 表格
    WinForm——操作word文档
    WinForm进程 线程
    音乐
    注册 传值
  • 原文地址:https://www.cnblogs.com/lamp01/p/8260147.html
Copyright © 2011-2022 走看看