秒杀的特点:高并发、读多写少、资源冲突
读多写少:缓存
高并发: 限流 负载均衡 同步->异步
资源冲突:转换为原子操作,使用数据库锁、分布式锁。
「解决方案」
1.本地缓存、按钮控制、图形验证码
2.cdn
3.Nginx中配置
(1)根据什么来限流(可以是ip地址)
(2)每次处理的请求数
(3)桶容量
4.在负载均衡把每一个请求送到Tomcat之前
我们还可以使用 redis+lua 进行一波分布式的限流
比如进不去秒杀的就去店铺首页浏览商品 。
5.在集群中:
(1)MQ异步
(2)Guava限制
(3)数据库锁