说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

深入浅出,以咖啡店为例演示Web应用程序扩展

HTML文档下载 WORD文档下载 PDF文档下载
拥有海量用户确实是件值得期待的事情,然而设计支撑用户的应用却并不简单。这里Vistaprin从咖啡店经营入手,为大家分享Web应用的扩展之路。

【编者按】每个机构都期望拥有大量的活跃用户,因为在这个时代用户的数量直接与应用的价值挂钩,就比如日前WhatsApp被Facebook以160亿美元的天价收购。然而,海量用户地支撑并不是件容易的事情,本次为大家分享Vistaprint Web平台组Sriram Devadas的博文——从咖啡店管理看Web应用扩展。

以下为译文:

首先,我有一间咖啡店,经营的开销与资源成正比。我有1间100平方英尺的店面,同时还有1台咖啡机及1名咖啡调配师。

其次,是我店铺的产能:同时只能服务一个客户,一杯咖啡需要煮3分钟,每个客户服务时间总计5分钟。

假设我的咖啡师可以无休工作,德国制造的咖啡机同样坚固无比,那么我的咖啡店每小时就可以服务12名客人。


Web Server

鉴于同一时间只能服务一位顾客,因此在高峰时期会存在客户流失的情形,没有等待的空间。因此我得升级店铺,情况如下:

同样大小的店铺和基础设施,3个咖啡调配师,2个咖啡机以及2张椅子。这时候的店铺产能是,3分钟两杯咖啡,7分钟可以服务3个顾客,2个顾客可以在椅子上等待,即:并发客户=3,客户容量=5。


纵向扩展

生意兴隆,是时候升级了,我期望更大的产能,于是进行了如下的调整:

店铺占地扩大到200平方英尺,5个咖啡调配师,4个咖啡机及3把椅子。能力按比例提升,一切进行的非常好。

在夏季,生意冷淡。对于咖啡店来说再正常不过了,因此有些时候我特别想缩减开支,但是房东肯定不会那么好说话。因此对于我这样业务不恒定的公司来说,大不一定总是好事!


通过负载均衡器进行横向扩展

如果使用更小点可以安置3个咖啡机的柜台,同时我只做增加或减少柜台数量操作,那么房东肯定不会太在意。那么,只要预先通知,他就可以减少或者增加一个设施。但是,如果同一个时间,我只能照顾一个柜台上的生意,那该怎么弄?

幸运的是,这里有一种特殊的柜台恰恰就是这么设置的,这个柜台允许几个顾客同时与柜台管理员交互。实际情况下,负责柜台的员工也并不需要是个咖啡调配师,他只需要完成订单方面的相关工作,同时咖啡调配师也并不需要直接与顾客交流。这样的话,店铺的产能被提升,我也可以按需减少或者增加放置咖啡机的基础设施。


资源深加工

其实我的咖啡机是个通用型的食品制作工具,在接收到许多客户的现烤面包需求后,我决定把这个食品放到菜单上。

但是问题出现了,我使用的两个咖啡机1次只能制作1磅面包,并且耗费制作咖啡双倍的时间。因此从时间上看,1磅的面包=4杯咖啡。

因此有些时候面包的订单会阻塞整个系统,喝咖啡的顾客并不愿意等待太久,低效率的言语也随之出来。我需要1个方法来分割订单,同时更好地利用资源。


基于异步队列的处理

我引入了1个基于令牌的队列系统。在用户下单后会取得一个对应的令牌号码,然后等待他的食物。订单摄入部分会取得订单并分类存储——面包及咖啡。

咖啡调配师根据现有设备运行情况分析订单,并选择是先做面包还是咖啡。当面包或者是咖啡做好后,调配师会将它传出,随后柜台人员叫号发送。

除下新建的输入和输出队列,其他都是用着之前相同的资源,但是产能明显提高了。

从顾客的角度上看,他们有着和之前完全不一样的用户体验。

只要顾客能接受这个异步系统,我们就可以管理它的复杂性,它提供了1个容量和产品多样化的扩展途径,与邻居的竞争中将获绝对优势。


未来的扩展方向

当异步系统达到限制极限时,我们又该如何处理?很显然,在这种规模下咖啡店比喻已经完全不可用了,不妨深度搜索一些类似DNS round robin的技术。Web应用程序的扩展已经不是件新鲜的事情,不妨多参加一些交流,向扩展大师们取经。

原文链接:Intuitively Showing How To Scale a Web Application Using a Coffee Shop as an Example (编译/仲浩 审校/毛梦琪)

Linux将会统治桌面端的7个原因 Intel首席科学家Randolph Wang:详解Edison AMD Mantle再添新作,引发下代GPU架构猜想 谈DAM决策,自建还是SaaS 证据显示:Linux战争已经转移到OpenStack RestKit:iOS开发必备,告别众多无聊代码 技术新突破:手机和平板可远程控制PC,Chrome Remote Desktop亮相 物联网高速公路上,快数据如何驱动分析 苹果或将使用雅虎的搜索引擎,抛弃谷歌 百万用户规模的系统如何扩展 大数据需要软件定义存储 倒计36小时!2014中国Spark技术峰会即将召开! 设计师专宠,Startup强大的UI设计框架 走进金山云:从技术走向服务 Qt Creator 3.1.0发布,全面支持iOS、Android、WP Google大中华区总裁石博盟与中国大学生畅谈科技与创新 阿里云:从防到攻,深入浅出DDoS 大数据处理分析的六大最好工具 微软:Windows Phone开发者可回复用户评价 不断缩水后的微博上市首日大涨19% 曾一度涨超40% Snapdragon LLVM编译器全新升级 支持骁龙64位处理器 EDP:基于Node.JS与NPM的企业级开发平台 想改变世界,先改变自己——知名Hacker、发明家Mitch Altman专访 《近匠》iHealth,健康大数据助力硬件“破壳” 一周消息树:如何做到每天写代码? 一周热点:微软SQL Server 2014三大新特性 《Make》创始人Dale Dougherty:全民创客 DevOps正在扼杀程序员? OpenStack新版本:新增近350个功能,修复Bug超2900个 【走近讲师】易欢欢:数据对接和后台是互联网金融的技术最难点 最火HTML5 JavaScript游戏引擎:国外篇(二) 小问题,如何解决?谢谢各位大虾!!谢谢,我在线等 要上次网络程序员的试题。 sanfen 为什么我的字总是看着上下都缺一点? 死阿猫,老博亦,跑那去了,赶快看看我的问题~~~~~ 错在哪里?提示“标准表达式数据类型不匹配” 记得原来WIN95下有个快速查看的软件,2000下找不到了,请大家指点指点 快救我一下 急1! 怎么在DBGRID中实现下拉框??在线等待高手!!! 请问一个在安装WIN2000时的问题 delphi 编程时,如何把memo中字符的“回车”去掉! 如何在串口通讯中读写中文? 有没有誰知道哪个网站现场直播世界杯的. Query的查询 有关DDX的问题,高手请帮忙 用过NUCLEUS GRAFIXWT 和GRAFIXGS的朋友请进 about windows media player? 请问哪里有outlook express60的安装程序下载? socket通讯的问题! winxp的桌面图表问题 软件工程预算,急急急!!!!! 程序员教材的错误。 ADO简单问题求教,解决问题立即送分,绝不食言! 对于您来说可能很简单的日期问题,对于我很重要! 哈哈,阿猫现在不在,有想骂他的赶紧进了啊,我先来一句:死阿猫。。。。。 请大家说说这个小偷是不是很有义气呀! 猪猪要退出水园了,强烈挽留猪猪继续当我们的版主!支持的进来签名 着急!! 我是菜鸟 如何在sdk程序中获得.lnk文件的icon? 我在FORM1上加上了数据模块,FROM1上有一个DBedit控件,为什么Datasure属性里却没有 我是菜鸟 着急!! VC开发如何OFFIC,关于WORD的? 新手请教:如何从一张表中取出最新的50条数据? 硬盘抢救!!!大家帮忙! 国外有没有类似http://bbs.51soft.com/的大的软件讨论站? 格式化字符串的问题 菜鸟 Combobox中如何设置默认值? 如果你是新手! [流氓兄:突然冒出很多新人。。。贴] 请转这里 菜鸟 一个有难度的问题 关于格式化字符串的问题。。。 MYSQL权限与mysql库里的所有表问题~!~!请指教! Installshield中怎样调用MSI文件,并能执行MSI文件 售书 鼠标指针的问题(菜鸟问) 向CList模板类的对象追加节点时出现异常,谁惹的祸??? 为什么我的VB运行时会清空剪贴板? 能使湿润的淀粉碘化钾变蓝的气体有什么? 两个石头不同大小落地那个先落地理由说清楚! 世界屋脊是帕米尔高原还是青藏高原 为何溶液的熔点、沸点与纯净物相比会产生变化?(初中生,请深入浅出地详细讲解一下,谢谢!)比如,一标准大气压下,水的熔点是0摄氏度,而盐水的熔点低于0摄氏度;水的沸点是100摄氏度 碘化钾能使湿润的淀粉碘化钾试纸变蓝吗 小明找来两把完全相同,长为20厘米的钢尺,一把暴晒,一把冷冻,互相对比之后,发现长度几乎没有差异,为什么 除尘脱硫系统进口、出口烟气流速 脱硫塔内烟气流速 为什么对流层的厚度随纬度增加而逐渐降低? 两钢尺,一块放在冰箱里足够冷冻,一块放在太阳下暴晒,为什么拿出来时两块差别不明我的答案是冰箱的温度不够低,阳光的温度不够高. 又想了个答案是钢尺的材料太硬 各位大侠 发现脱硫进口烟尘超标时,除尘系统应如何调整? 对流层为什么随纬度的增高而降低 小明找来两把完全相同长为20厘米的钢尺一把放在冰箱存放冷冻一把放在阳光下长时间暴晒在家量大概只互相测量发现两把钢尺的长度几乎没有差异,请写出造成这两种差异的,原因. 可见光中哪些波长的光经过玻璃片透射后的到加强.白光垂直入射玻璃片,玻璃片折射率1.5 厚度0.4um. 对流层的厚度在不同纬度是否相同?为什么? 两把钢尺,一把暴晒,一把冷冻,为什么两把尺的长度没有差异 两瓶无色溶液,一瓶是0.1mol/L的硫酸,一瓶是0.2mol/L的硫酸现有试管,胶头滴管,量筒等仪器,下列试剂无法用于鉴别的是1.PH试纸2.0.1mol/L的硫代硫酸钠溶液3.两根粗细均匀的镁条4.0.1mol/L的偏铝酸钠 15、目前人类大量利用的淡水资源是:( ) A地下水、河流水 B江河湖泊和地下水C冰川和湖泊水D海洋水和冰雪融 小明找来两把完全相同,长为20厘米的钢尺,一把暴晒,一把冷冻,可是长度没有差异,为什么没变化? 1.沸腾观察到的现象是:水中形成___,上升时____,到水面_____,里面的水蒸气散发到空气中.2.____和_____是使气体液化的两种方法,液化汽油是利用______的方法实现的.3.人被100℃的水蒸汽烫伤比100℃ 对流层高度随纬度增加而降低,这是因为? 青藏高原平均海拔没有帕米尔高原高吧?为何是世界屋脊? 水沸腾时,大量气泡上升、( ),到水面破裂里面的水蒸气散发到空气中. 四时田园杂兴描绘了什么景象 计算冰刀与冰面接触处冰的熔点(求具体计算公式)已知每只溜冰鞋下面与冰刀接触的部分,长度为80mm,宽度为0.025mm.体重60kg的人脚穿两只溜冰鞋站立在冰面上.试计算冰刀与冰面接触处冰的熔 苯酚+氢气化学方程式我要化学方程式或者是反应后苯环的集团是什么也成? 什么蚊香能把苍蝇熏死?这两天房间里到处都是苍蝇,开窗子轰不出去,外面的苍蝇更多有没有一种蚊香能把苍蝇熏死毒性又不大的? 四时田园杂兴这首诗描写的是什么 苯酚和氢气反应 过程 求高手回答 蚊香能驱苍蝇吗?怎么驱苍蝇呢? 在冰面上滑行时,冰刀所经过的地方会出现水痕,你猜想冰的熔点随着压强的增大而( )填升高或降低请跟我具体的解说,我实在弄不明白, 为什么要学比热容? 四时田园杂兴诗 古诗二首 分别描写的是什么景色 四时田园杂兴这首诗描写了__________.展现了__________. 比热容计算 为什么要乘80%? 蚊香可以驱除苍蝇么?蚊香可以杀蚊子,但是可以杀苍蝇么?有时候午睡时,房间里飞进一只苍蝇,点了蚊香,可觉得好像也没什么用啊这时候怎么把苍蝇赶走啊?不要什么拿苍蝇拍拍啊拍的,省力点 有一题物理题:说比赛项目短道速滑,冰刀与冰面压强大,问冰的熔点与压强的关系. 在4份碘化钾淀粉溶液中,分别加入下列物质,能使溶液变蓝的是A.氯化氢B.溴水C.氯气D.溴化钠溶液请说明理由 为什么现在的蚊香能够熏晕蚊子却杀不死、杀死苍蝇却熏不晕它? 四时田园杂兴这首诗怎么写 为什么纬度越低,太阳高度角越大? 氧气可以使碘化钾淀粉试纸变蓝吗 哪位知道这首诗啊(四时田园杂兴)四时田园杂兴(宋)范成大 纬度越高气压越低吗 四时田园杂兴描写了什么 开采地下水对水循环有什么影响?答的好加分.谢谢! 四年级上册语文园地七的作文什么写要350字 《四时田园杂兴》描写的景物有什么?是这样的“昼出耘田夜绩麻,村庄儿女各当家.童孙未解供耕织,也傍桑阴学种瓜.”景物至少写5个! 当水滴在空中与冷空气相遇时,他的状态发生了怎样的变化,这种状态变化需要什么条件 小学四年级上册语文园地一赭山公园写作文(400字) 两首四时田园杂兴各描绘了怎样的景象?你从中体会到什么乐趣?仔细回答! 当水滴在空中与冷空气相遇时,他的状态发生了怎样的变化 滨海小区向一个长50米,宽25米,深1.8米的空游泳池里注水.经过0.6小时水深达0.2米,这样的话,几小时能把这个游泳池注满 蚊香能不能熏死蚊子,蚊香对人体有害吗? 老师好~请帮我解决这道生态学题,是我的期末考试题根据群落演替规律和植被特点,为亚热带海洋性气候区域的退化生态系统设计一个生态重建方案.必有重谢! 蚊香怎么熏不死蚊子病情描述(发病时间、主要症状等):现在的蚊子是不是基因突变了,不怕蚊香,杀虫剂也冒得作用 本人 家住的 房子是一楼很潮湿,蚊子 每天没有停止过,灭不了啊.罩蚊帐晚 AgNO3溶液中加入同浓度的NaCl与KI溶液时,是先生成哪个沉淀,还是两个同时生成我知道AgI的溶度积小,但是在生成沉淀的时候是否会有同时发生 除去KNO3中KCl?除了加AgNO3 蚊香为什么熏不死蚊子 从高为20米的屋顶上每隔0.1秒就落下一个小水滴,问当第1滴水恰好落地时,第3滴和第4滴水之间相距多大? 帕米尔高原和青藏高原海拔差不多吧
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘