Skip to content

Latest commit

 

History

History
33 lines (20 loc) · 829 Bytes

README.md

File metadata and controls

33 lines (20 loc) · 829 Bytes

秒杀系统

在一台4核2G内存的Centos6.8虚拟机上对秒杀接口进行压力测试,
虚拟机上跑着秒杀应用、redis、rabbitmq、jmeter,主机跑着mysql,
用50000个并发,有 2114 QPS

针对秒杀接口做了如下优化:

1.性能优化

(1)Redis预减库存减少数据库访问

(2)Redis秒杀订单查询减少数据库访问

(2)内存标记减少Redis访问

(3)RabbitMQ队列缓冲,异步下单,增强用户体验

2.安全优化

(1)秒杀接口地址隐藏

(2)数学公式验证码(防止机器人、拉长系统访问时间来达到削峰)

(3)接口防刷

3.数据保证

(1)秒杀订单唯一复合索引防止重复下单

(2)库存>0限制防止超卖

(3)事务控制:减库存、下订单、存redis