高可用秒杀架构设计
今日面试遇到的问题
问:设计一个高可用的大型秒杀解决方案
我心想redis实现嘛,毕竟单线程,但问题来了,像淘宝、京东这种高负载的平台,总不能一台redis实例吧,那么如果部署多台redis实例就会有数据一致性的问题(例如某sku商品秒杀数为100件),请问各位大佬,大厂的这种秒杀是什么样的一个实现方案呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
秒杀场景的业务特点:
一、瞬间并发量大
二、库存少
三、业务流程简单
架构设计思想:
1、限流,因为只有少数人能秒杀成功,所以要限制大部分流量进入后端
2、削峰,使用缓存和消息中间件
3、异步,将同步的业务设计成异步处理
4、内存缓存,瓶颈是数据库读写,使用内存缓存和内存数据库(redis)
5、分布式负载,多节点分摊流量,达到高可用
6、优化,动静分离,将静态数据部署到cdn节点
已从其他渠道寻得答案,暂且关闭,感谢各位
你觉得能三言两语说出这些大厂秒杀系统的人会出现在这里浪费时间么,你反问下问你问题的人,他知道么?