【文件属性】:
文件名称:SecKillDesign:秒杀与抢购系统架构设计与实现
文件大小:970KB
文件格式:ZIP
更新时间:2021-03-11 16:51:54
系统开源
Java秒杀与抢购模型的架构设计与实现
开发环境:
IntelliJ IDEA + Maven +工作台
压测工具:
杰米特
使用框架:
Sprint Boot子+ Mybatis + Redis + RabbitMQ
具体内容:
对高并发高负载情形下的应用场景进行分析,以高效地处理资源竞争为目的,设计一个秒杀与抢购模型。
本项目提供了三种解决方案来比较系统的性能:
1.利用MySQL的update行锁实现悲观锁。
2.MySQL加字段version实现乐观锁。
3.基于AtomicInteger的CAS机制;
4.使用Redis作为原子计数器(watch事务+decr操作),RabbitMQ作为消息队列记录用户抢购行为,MySQL做异步存储。
上述四个解决方案均使用了JMeter进行压力与性能测试(实验设置的是10秒内产生3000个请求),分析其吞吐量、平均响应时间、错误率等参数,