下单性能优化
2021-05-14 16:27:42 1 举报
交易下单流程,性能优化
作者其他创作
大纲/内容
MQ
YES
需要合理配置重试策略
NO
order
是否支付完成
save order status
校验成功
save order/order_items/promotion/ship
workflow
save payment status
rocketMq
使用agg,不开启L2
1、最大化减小消息体2、后续可以设置优先级队列
trade-rpc
if db
创建shippment
冻结津贴、券、库存
success
数据异步保存
流程开始
保存order status
支付下单,获取支付参数
payment
流程结束
addPaymentItem
我的订单,极端情况下会出现urd有数据,但是xcache、db没有订单数据
支付成功处理
流程节点
save paymentItem
expiredTime 7天
异常处理
save xcache
支付成功通知
trade-order
new message
event处理
send msg
trade-payment
save payment
存在
算价
userOrder
query payment/status
DB
创建不可见订单
submitted message
send message
query order item/promotion
xcache
confirmed message
urd
最后的卡点
1、order query 服务细粒度接口2、查询组件,先查xcache,没有查db,回写xcache3、上线方案4、一个完整流程xcache挂了没问题,会插DB、查DB,但是如果写入xcache后,xcache挂掉,会出现查不到数据的情况5、rocketMq消息压缩、缩减6、后续压测改造,mock支付模块,做一个支付成功处理的stub
confirm order
sentinelpass
pay
保存我的订单
update
下单并直接支付流程
save order、order item、promotion、ship
开关/降级
拆单
同步urd
扩展校验
订单提交
confirmPayment
payment成功消息
0 条评论
下一页