秒杀目的:广告作用 业务场景:商品秒杀、抢购、群红包、抢优惠券、抽奖
业务特点:价格低廉、抢手、广为人知、瞬时售空、定时上架、持续时间短、并发量高
技术特点:高并发、读多写少、资源冲突
读多写少:缓存
高并发: 缓存 限流 负载均衡 同步->异步
资源冲突:转换为原子操作,或者使用数据库锁、分布式锁。
1、首先是对并发流量进行预估
2、根据公司活动历史最高峰值再扩容
解决:
1.本地缓存、按钮控制、图形验证码
2.cdn
3.当流量到达Nginx,可以在nginx的配置文件中配置
(1)根据什么来限流(可以是ip地址)
(2)每次处理的请求数
(3)桶容量
4.在负载均衡把每一个请求送到tomcat之前,我们还可以使用 redis+lua 或者nginx+lua进行一波分布式的限流,比如进不去秒杀的就去店铺首页浏览商品 。
5.在集群中:
(1)使用MQ异步。
(2)比如Guava限制
(3)数据库锁