当前位置: 首页 > 后端技术 > Java

Java秒杀项目练习2-秒杀过程

时间:2023-04-01 14:37:17 Java

java秒杀项目练习2-秒杀过程fork大神项目练习,自己搭建一个线上环境,用来学习代码。本项目地址:https://github.com/luozijing/...云环境地址:http://42.192.183.193:9080/lo...注册一个账号(注册体验随便)体验秒杀功能的秒杀主流程秒杀流程,秒杀主要解决数据库并发压力大,库存超卖,接口吞吐量大(可支持秒杀事务)等问题。针对以上几点,秒杀中常见的做法是:有效控制和过滤无效秒杀交易->使用本地内存标记商品库存->redis分布式锁统一用户排队(限流)->redis原子减量库存inventoryoversold->redis::decr原子接口减预热库存(采购接口,incr失败需要补偿)->更新数据库时,判断接口吞吐量大于0(订单接口)->zookeeper通知服务更新库存是否卖完->MQ异步生成订单总结异步解耦调峰问题和优化订单与库存交易一致性问题,需要交易补偿机制。完成统计接口访问频率对应的虚拟支付问题将在下一期解决。...