淘宝双11高并发架构是怎么设计的?看完这篇你就知道了
一、背景引入
这篇文章,我们聊聊大量同学问我的一个问题,面试的时候被问到一个让人特别手足无措的问题:你的系统如何支撑高并发?
大多数同学被问到这个问题压根儿没什么思路去回答,不知道从什么地方说起,其实本质就是没经历过一些真正有高并发系统的锤炼罢了。
因为没有过相关的项目经历,所以就没法从真实的自身体会和经验中提炼出一套回答,然后系统的阐述出来自己复杂过的系统如何支撑高并发的。
所以,这篇文章就从这个角度切入来简单说说这个问题,用一个最简单的思路来回答,大致如何应对。
当然这里首先说清楚一个前提:高并发系统各不相同。比如每秒百万并发的中间件系统、每日百亿请求的网关系统、瞬时每秒几十万请求的秒杀大促系统。
他们在应对高并发的时候,因为系统各自自身特点的不同,所以应对架构都是不一样的。
另外,比如电商平台中的订单系统、商品系统、库存系统,在高并发场景下的架构设计也是不同的,因为背后的业务场景什么的都不一样。
所以,这篇文章主要是给大家提供一个回答这类问题的思路,不涉及任何复杂架构设计,让你不至于在面试中被问到这个问题时,跟面试官大眼瞪小眼。
具体要真能在面试的时候回答好这个问题,建议各位参考一下本文思路,然后对你自己手头负责的系统多去思考一下,最好做一些相关的架构实践。
二、先考虑一个最简单的系统架构
假设刚刚开始你的系统就部署在一台机器上,背后就连接了一台数据库,数据库部署在一台服务器上。
我们甚至可以再现实点,给个例子,你的系统部署的机器是4核8G,数据库服务器是16核32G。
此时假设你的系统用户量总共就10万,用户量很少,日活用户按照不同系统的场景有区别,我们取一个较为客观的比例,10%吧,每天活跃的用户就1万。
按照28法则,每天高峰期算他4个小时,高峰期活跃的用户占比达到80%,就是8000人活跃在4小时内。
然后每个人对你的系统发起的请求,我们算他每天是20次吧。那么高峰期8000人发起的请求也才16万次,平均到4小时内的每秒(14400秒),每秒也就10次请求。
好吧!完全跟高并发搭不上边,对不对?
然后系统层面每秒是10次请求,对数据库的调用每次请求都会好几次数据库操作的,比如做做crud之类的。
那么我们取一个一次请求对应3次数据库请求吧,那这样的话,数据库层每秒也就30次请求,对不对?
按照这台数据库服务器的配置,支撑是绝对没问题的。
上述描述的系统,用一张图表示,就是下面这样:
三、系统集群化部署
假设此时你的用户数开始快速增长,比如注册用户量增长了50倍,上升到了500万。
此时日活用户是50万,高峰期对系统每秒请求是500/s。然后对数据库的每秒请求数量是1500/s,这个时候会怎
淘宝双11高并发架构是怎么设计的?看完这篇你就知道了相关推荐
- 淘宝双11高并发架构是怎么设计的?看完这篇你就知道了!
V-xin:ruyuanhadeng获得600+页原创精品文章汇总PDF 目录 一.一道面试题的背景引入 二.先考虑一个最简单的系统架构 三.系统集群化部署 四.数据库分库分表 + 读写分离 五.缓存 ...
- 淘宝双11,618的京东节如何抗住亿级的并发量?
淘宝双11,618的京东节如何抗住亿级的并发量? 相信很多程序员去电商大厂面试都会被问到这种问题,其实这也是一道很常见的面试题,但是大多数应聘者都不知如何回答,从何答起.对于一个 Java 程序员来讲 ...
- 阿里巴巴如何对抗淘宝双11亿级流量?这本P9纯手打并发手册送给你
淘宝双11,京东618,滴滴打车高峰如何抗住亿级的并发量? 这一份阿里P9纯手打的高并发系统设计手册帮你解决!这份手册分为基础篇.数据库篇.缓存篇.消息队列篇.分布式服务篇.维护篇.实战篇 新鲜出炉的 ...
- 性能第三讲:百万级QPS,支撑淘宝双11需要哪些技术
性能第三讲:百万级QPS,支撑淘宝双11需要哪些技术 又到一年双11,相信大部分同学都曾经有这个疑问:支撑起淘宝双11这么大的流量,需要用到哪些核心技术?性能优化系列的第二篇我想跟大家探讨一下这个话题 ...
- 淘宝“双11”抗住瞬间访问量是关键
[ 导读]2012年,淘宝双11购物狂欢节的一分钟内千万级别访问量涌入,导致购物车和支付宝无法访问.2013双十一是否能抗住第一分钟瞬间访问量? 以前形成一种文化需要按照多少年的节奏进行,互联网时代, ...
- 阿里双11高可用架构演进之路
阿里巴巴平台的业务规模在过去的8年呈指数级增长,给双11所带来的技术挑战是世界性的,特别是如何在零点峰值到来时确保系统的稳定性.零点技术挑战的本质是用有限的成本去实现最大化的集群整体吞吐能力和最佳的用 ...
- 百万级QPS,支撑淘宝双11需要哪些技术
目录 前言 正文 1.MySQL硬抗 2.分布式缓存(Tair)硬抗 3.客户端分布式缓存 4.缓存预热 5.客户端本地缓存 6.访问DB加锁 7.热点探测 8.限流 9.全链路压测 10.预案 11 ...
- 手机淘宝双11全球狂欢节技术解读
手机淘宝 双11全球狂欢节技术解读 2015双11全球狂欢节全天交易额912.17亿元!无线成交626.42亿元!无线占比68.67%!--这是消费的力量,是新经济的力量,是我们每一个人的力量,更是中 ...
- 96秒100亿!如何抗住双11高并发流量?
点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群"加入公众号专属技术群 来源:uee.me/c9UsN 今年双 11 全民购物狂欢 ...
- 第一百一十二期:96秒100亿!如何抗住双11高并发流量?
今年双 11 全民购物狂欢节进入第十一个年头,1 分 36 秒,交易额冲到 100 亿 !比 2018 年快了近 30 秒,比 2017 年快了近 1 分半!这个速度再次刷新天猫双 11 成交总额破 ...
最新文章
- 如何在框架外部自定义C++ OP
- python 类的封装、继承、重写方法
- 简洁好用的KDTree模板
- 跟着百度学PHP[14]-PDO-优化驱动
- 进阶学习(3.5) Singleton Pattern 单例模式
- Linux下多网卡MAC配置问题
- sqlserver的触发器练习实例
- NOIP 2006 T2 金明的预算方案
- [入门]理想的小白程序员成长曲线
- Python的程序结构[4] - 函数/Function[2] - 匿名函数
- 09-03 Java 抽象类
- 【算法设计】最大子段和问题解析(对应算法第三题)
- iphone11屏比例_iphone11pro屏幕尺寸比例
- 解构2019世界人工智能大会:三大变化,十年趋势,一场地球与火星的碰撞
- IOS 从项目学习Swift 开发(一)
- setResult(RESULT_OK, intent)回调不执行问题
- ural 1818 Fair Fishermen
- 支付宝付款弹窗 被浏览器拦截
- 您使用的是不受支持的命令行标记 -no-sandbox
- 学习了pr后的收获_Pr实训报告心得体会
热门文章
- 5G 网络的网络安全风险
- 一文读懂WebSocket
- Java常用的日期类
- 理念区块链2018.6.27行情分析丨磨人行情已不可避免
- hadoop Balance 优化经验
- 【后端教程】如何处理代码中的魔术数字(Magic Number)
- 马克思说过:阶级一旦形成,那么出于各个阶级的人想打破阶级的鸿沟壁垒几乎不可能。...
- 用Python编写的超级马里奥小游戏(基于Pygame)
- 4. 数据转换之【tidyr包】:gather与spread函数、separate与unite函数
- Angular 懒加载模块与 Combined Injector