mall订单流程优化版本
2019-09-26 14:20:24 13 举报
订单流程
作者其他创作
大纲/内容
是
处理Q1
20分钟判断
支付宝/微信
入Q3
挂机(优化版本)
处理Q5
出队结束
重入Q1
Q1(待付款队列)
不足
C1充值中
下单
C1状态
处理订单
下单返回
新的改造方案中,数据库不落地中间状态,直接采用队列的方式进行,增加了Q4充值中队列,在kafka过程中,直接落地数据库最终状态
下单缓存(C1):从用户下单开始产生,一直到过期时间结束用户订单列表缓存(C2):从用户最后一单下完为止,一直到过期时间结束C1和C2的产生,主要是为了解决客户端查询订单列表和详情的的问题Q1队列里面存储的是全部的订单Q2队列里面存储的是付款成功的订单
超过重试上限
C1修改状态
处理Q2
Q2(待入库队列)
手动操作退款/重试
数据库修改状态
支付宝/微信退款
多线程下单
业务效验
处理Q3
挂机
重试充值
Mall用户侧
大于付款
异常
回调
C1(下单缓存)
C2(用户订单列表缓存)
数据库订单关闭
KafKa回调
待付款
C1订单关闭
Q4充值中队列
11-待付款、15-交易关闭、21-付款成功、31-待充值、41-充值中、51-充值成功、61-充值失败、71-退款成功
异常清除C1
处理退款
数据库充值中
添加重试失败缓存
0 条评论
下一页