写点什么

设计一个秒杀系统挑战和问题及方案或思路

用户头像
Young
关注
发布于: 2020 年 08 月 05 日

秒杀系统挑战和问题

1.并发读:秒杀系统必然会造成高并发,对整个链路的压力会非常大,现有的系统是否能承受得住

2.并发写:如何在高并发下正确更新产品数量,避免造成订单数量大于库存数量这种情况发生

3.高可用:计划不管多完美,总是会有意外发生,意外发生时是否有对应的备份方案

方案或思路

  1. 页面动静分离:将秒杀页面尽量做成静态页面,充分利用 CDN 服务进行缓存,减少直接请求源服务器的压力

  2. 上游限流:秒杀是上游请求非常大,但是秒杀成功的请求远比实际请求数量少,所以利用设计思路在上游限流,秒杀不成功的请求直接返回失败页面,减少下游链路的压力

  3. 减少数据库操作:系统的瓶颈往往在于数据库的读写,充分利用缓存机制,减少数据库的读写操作,消除瓶颈

  4. 利用队列:将成功的请求放入队列,进行消峰,通过异步处理,减少前端失去响应的可能

  5. 消除单点实现高可用:在系统中消除单点结构,至少保证每个节点有备份节点,实现高可用

用户头像

Young

关注

还未添加个人签名 2018.08.10 加入

还未添加个人简介

评论

发布
暂无评论
设计一个秒杀系统挑战和问题及方案或思路