文章目录秒杀系统设计是秒杀业务的特点解决方案秒杀系统设计总结
秒杀系统什么是秒杀
通俗地说,就是互联网商家为了促销等目的而组织的网上限时促销活动
业务特点高合并:秒杀的特点是时间如此短暂,瞬间用户量大。
库存量少:由于常见秒杀活动的商品量少,只能购买极少量的用户。
业务简单:流程比较简单,一般是下订单,拉库存,支付订单
恶意要求,数据库压力
解决方案前端:页面资源静态化、按钮控件和QA校验码的使用,可以防止秒杀器干扰,让更多用户抓住机会
nginx (恶意请求检查、请求转发、负载平衡; 动静分离,不进行tomcat获得静态资源; 使用gzip压缩减少静态文件传输的体积、节约带宽和提高渲染速度
业务层:集群,在多台机器上处理,提高并发性
redis :集群保证高可用性,使数据持久化; 分散锁定(悲观锁定; 高速缓存热点数据(库存) )
mq )消除峰值电流限制,mq积累订单,保护订单处理层负荷,消费者根据自身消耗能力采取任务,实现上下游压力控制。 重点进行路由层和MQ的安全
数据库:分离读写,分割事务以提高并发性
秒杀系统设计的总结秒杀系统是一个“三高”系统,即高并发、高性能、高可用性的分布式系统
秒杀设计原则:前台要求尽量少,后台数据尽量少,调用链接尽量短,尽量没有单点
秒杀高同步方法:上门拦截、分流、动静分离
秒杀数据方法:库存削减策略、热点、异步、限流降级
访问中断的主要思路:通过CDN和缓存技术,尽可能将访问屏蔽在离用户较近的层,尽可能过滤无效请求。
分流的主要思路:分布式集群技术,多机处理,提高并发性。