1 秒杀设计
1.1 秒杀业务
秒杀具有瞬间高并发特点,针对这一特点,必须要做限流+异步+缓存(页面静态化)+独立部署。
限流方式:
前端限流,一些高并发的网站直接在前端页面开始限流,例如:小米的验证码设计。
Nginx限流,直接负载部分请求到错误的静态页面:令牌算法,漏斗算法。
网关限流,限流过滤器。
代码中使用分布式信号量。
RabbitMQ限流,chanel.basicQos(1),保证发挥所有服务器的性能。
1.2 秒杀流程
1.3 秒杀系统设计
1.3.1 秒杀(高并发)系统关注的问题
服务单一职责+独立部署:
秒杀服务即使自己扛不住压力,宕机,不要影响别的服务。
秒杀链接加密:
防止恶意攻击,模拟秒杀请求,1000次/s 攻击。
防止链接暴露