秒杀方案:前端
原子计数器 redis/mysql redis 集群mysql
记录行为 分布式MQ-rabbitMQredis
消费消息并落地 mysqlsql
运维成本和稳定性:NoSQL MQ 后端
开发成本:数据一致性,回滚方案等。api
幂等性难保证:重复秒杀问题。缓存
不适合新手的框架。网络
=======框架
为何不用mysql mysql低效运维
测试-
同一条mysql update 压力测试 4w qps 每秒4万次。
优化方向 减小行级锁的持有时间。
update确认影响记录数
优化思路:
把客户端逻辑放到mysql服务端,避免网络延迟和GC影响。
定制sql方案:
优化总结:
前端控制:暴露接口,按钮防重复。
动静态数据分离:cdn缓存,后端缓存。
cdn--api像cdn推送数据和页面等。
事务竞争优化-减小事务锁持有时间。有网络延迟和GC,改为MYSQL处理。