设计一个秒杀系统
设计一个秒杀系统 1 设计的架构原则 1.1 4要1不要 尽量减少请求数量 js,css等额外请求要少 合并请求 尽量减少请求数据 尽量减少请求路径 用户发出去请求到返回数据过程中,经过的中间节点数要少 请求依赖要尽量少 秒杀系统中的商品信息和用户信息是关键信息,优惠券列表,成交列表弱依赖 不要有单点 避免服务状态华 1.2 不同场景的架构 秒杀系统架构1 商品购买增加定时上架 -- 秒杀开始,才能看到按钮 单独部署 不和其他业务冲突 热点数据放到缓存 增加秒杀答题,方式秒杀器抢单 秒杀系统架构2 页面动静分离 在服务端对秒杀少商品进行缓存 增加系统限流保护 2 动静分离的可选方案 2.1 为什么要考虑动静分离 提高了单次的请求效率 减少了没必要的请求 2.2 怎么区分动静数据 动静数据主要区别就是看页面中输出的数据是否和URL,浏览者,时间,地域相关,以及是否含有Cookie等私密数据。 静态数据不是磁盘上的HTML内容,而是数据中是否有个性化的数据。 2.3 怎么对静态数据缓存 把静态数据缓存到离用户最近的地方,例如 浏览器里,CDN,或者服务端的Cache。 静态化改造就是要直接...