高可用秒杀架构设计

今日面试遇到的问题
问:设计一个高可用的大型秒杀解决方案

我心想redis实现嘛,毕竟单线程,但问题来了,像淘宝、京东这种高负载的平台,总不能一台redis实例吧,那么如果部署多台redis实例就会有数据一致性的问题(例如某sku商品秒杀数为100件),请问各位大佬,大厂的这种秒杀是什么样的一个实现方案呢?

阅读 3.7k
3 个回答

秒杀场景的业务特点:
一、瞬间并发量大
二、库存少
三、业务流程简单

架构设计思想:
1、限流,因为只有少数人能秒杀成功,所以要限制大部分流量进入后端
2、削峰,使用缓存和消息中间件
3、异步,将同步的业务设计成异步处理
4、内存缓存,瓶颈是数据库读写,使用内存缓存和内存数据库(redis)
5、分布式负载,多节点分摊流量,达到高可用
6、优化,动静分离,将静态数据部署到cdn节点

已从其他渠道寻得答案,暂且关闭,感谢各位

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题