秒杀系统 | 交易性能优化 | 交易验证优化

交易流程图

交易流程.png 交易流程.png
交易流程.png

交易验证优化

    用户风控策略优化; 活动校验策略优化;

用户风控策略优化

用户风控策略
    前提是获取用户信息; 判断用户 Id 是最基础的风控策略; 判断用户账号是否有异常:之前是否做过异地登录、最近是否做过修改密码等高风险操作;
优化
    用户信息一开始都是持久化在 MySQL 中的,可以通过异步的方式将其前置到 Redis 中,

活动校验策略优化

活动校验策略
    活动是否存在; 活动是否开始; 活动是否结束;
优化
    活动信息也可以前置到 Redis 中;
引入活动发布流程
    活动信息的灵活度比较大,活动信息可以随时修改,比如活动取消、活动提前开始,因此需要引入活动发布流程; 运营人员在后台,修改数据库中的活动信息,修改后的信息要能更新到 Redis 中; 活动信息的发布,至少在活动开始前 30 分钟,在这 30 分钟内,要完成 Redis 的预热;
紧急下线能力
    运营人员在后台下线活动,然后代码主动清除掉 Redis 中的缓存,完成活动的紧急下线;

把活动信息和用户信息前置到 Redis 后性能提升

    TPS:1200(450)+; Average:580(2000)+; 应用服务器 CPU 占用率:75%+; 应用服务器 load average:2.1+; 数据库服务器 CPU 占用率:5.8(10)% +,压力全在 Redis(MySQL) 上;
经验分享 程序员 微信小程序 职场和发展