1、服务单一部署+独立部署 (微服务)
秒杀服务即使自己扛不住压力,挂掉。
不要影响别人
2、秒杀链接加密(随机码)
防止恶意攻击,模拟秒杀请求,
1000
次
/s
攻击。
防止链接暴露,自己工作人员,提前秒杀商品。
3、库存预热+快速扣减 (定时任务上架商品,秒杀的库存放到redis做信号量 原子减一)
秒杀读多写少。无需每次实时校验库存。我
们库存预热,放到
redis
中。信号量控制进
来秒杀的请求
4、动静分离 (静态资源nginx加载)
nginx
做好动静分离。保证秒杀和商品详情
页的动态请求才打到后端的服务集群。
使用
CDN
网络,分担本集群压力
5、恶意请求拦截 (前段登录判断,登录拦截器)
6、流量错峰
7、限流、熔断、降级(保证系统稳定,不宕机)
8、队列削峰 (rabbitMQ 把秒杀成功的请求,让如队列。让订单服务慢慢消费)