订单优化逻辑整理

订单优化逻辑整理:

流程:

0.redis查询

1.判断(查询DB>> ,查询2次DB)

2.查询 (接口DB查询)
3.获取商品详细信息 (DB)

4.获取库存信息 (可能会分布式加锁)(查询redis)

5.获取相关信息(查询接口2次DB)

6.拆单 (内存操作)

7.插入订单 (发消息,操作数据库)
(查询db)

(insertOrder 分布式事物(2次db insert) + 插入订单DB循环3,4次)


8.扣减库存(加分布式锁)(redis)


优化需求:

目前tps=200,需要tps=1000


1.先确认分层限流参数
nginx > zuul > k8s 网关 > tomcat > 应用限流 > 数据库连接池


2.确认一共做多少db查询,多少次db insert, 多少次redis操作
mysql db tps 一般约 200 ,qps 一般是2000
所以先优化所有的db 插入(同步变异步mq处理)。优化后tps = 700


3.在优化db查询,查询走redis,异步更新缓存


4.优化后数据有延迟,延迟操作可以通过插入redis,先做缓冲。查询时先查redis

猜你喜欢

转载自my.oschina.net/xiaominmin/blog/1794555