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

深入浅出,以咖啡店为例演示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 (编译/仲浩 审校/毛梦琪)

黑帽大会演讲中国第一人:从攻到防,从白帽黑客到创业者 15个步骤创立技术公司,并收获千万用户(完结) CTO容易犯的三大错误 谷歌艺术计划:互联网能否取代真实的博物馆? Hadoop技术沙龙:Hortonworks技术研发总监展望Hadoop 2.0 Marissa Mayer:雅虎月活跃用户增长了20%达8亿 移动用户3.5亿 气死偷车贼:脑电波防盗技术,让偷车贼无计可施 TIOBE 2013年9月编程语言排行榜:Transact-SQL首次进入前十 前Oracle总裁Charles Phillips:商业软件领域的“乔布斯” 留住你的用户:8款第三方移动推送服务 人气最旺:主流移动应用创建工具大合集(一) 不要强迫用户注册,请让他们先试用产品 Eve:基于Python的REST API框架 想扩展你的数据库吗?那么先了解一下I/O 白帽黑客将现场爆料Android系统及框架漏洞 9月13日:程序员节,一起来过节吧! 欲与Siri、Google Now比高低:微软开始打造个人助理Cortana 【开源专访】禅道创始人王春生:覆盖项目全周期,回归管理的本质 携程无线创业者大赛成功落幕 梁建章为头名“快展”颁20万奖金 Bug报告:小角色,大用处! iOS开发者必备: 五大编程类工具 多核优化软件MCx释放EMC VNX闪存潜能 手把手教学:详解HTML5移动开发框架PhoneJS 快速学习新技术的几条建议 研发周报:Angular.js or Ember.js 谁将成为Web开发的新宠? 10款免费且开源的项目管理工具 Greg Pass:拯救Twitter的无名英雄 Cassandra杀回数据库排行Top 10,及需求Java 7的2.0版本 安全专家王清将揭秘“大数据时代的大安全” BrainSpace:跟传统搜索说再见 艾普网络的OpenStack实践 这样划分vlan可不可以???? 数据库超时 VB+SQl 2000 如何实现在程序运行时加减代码? 各位高手给我个提示有关手动添加消息映射的 关于EjbOBJECT和EJBLOCALOBJECT在使用上的区别?? 寻找中俄文转换的工具软件!急! 请问怎么把CLASS程序打包成JAR程序? 如何在VC中嵌入对Access表tableApp中纪录个数的统计(在线等)? 学习java到底有没有前途?? 关于ie6和ie5下使用javascript的问题??? 自定义函数返回值的问题 小问题:如何在VC中嵌入对Access表tableApp中纪录个数的统计(在线等)? 怎么没人理我啊?我好可怜!linux下线程池谁知道怎样实现,在哪里可以找到资料? 请教高手:如何把 Office Word 中的字(包括字体、字色、字类型等)复制到 java 中。急!在线... 挂双硬盘在CMOS中怎么设置? 沾边就给分,请问各位前辈,我想画一个框,并据一定的条件使它以两种颜色交替显示,退出时将其释放 不能用右键来另存图片 关于J2EE问题? 有没有这么一个函数:将一个double型变量按科学计数法的格式显示出来 升级的问题 难!请教关于随机分段计算并判断的问题。 请教:QT库怎么配?怎么看装没装上?里面都有什么? 请推荐一个国外的(英文)网站,类似与csdn的程序员网站!想提高英语水平 请问jsp程序在运行时出现的这个错误是什么原因引起的? ASP对字符串加密后,就认不到路径了,,, 如何在VSS中建立软件运行平台。 如何接收附件 学习java有什么好的资料,书,网站!! 一个简单问题,在线等待! 设计模式疑问,偶都快晕了~~~ 当前账户被禁用 歌词NO-18 爱上别人是快乐的事 吴俊霖 tomcat4中更新bean后需要重起,我受不了这种开发方式,以前3.2时就没有这个问题? 关于颜色的问题 有没有办法使对话框在一个指定的位置弹出来 当前时间的前一天怎么可以求算出来? 一天我把电脑上空余的空间合成一个盘(在98上运行),在98上很正常,但是我在xp里原来的e盘变成了i盘!!!郁闷!! 请问这样写对吗? function checkform() 上网小问题,全给分 请教:一个关于远程数据服务(RDS.DataSpace)的问题!急!急!急!问题解决即结帐。谢谢! 关于删除多个表的记录的问题? byte a; a = a + 1不对是可以理解的,但a++, 或者a += 1为什么是对的呢? 那位大哥告诉一下PL/SQL developer5 正式版的下载地址(全的),和注册码! 100分 SENTINEL SYSTEM DRIVER是什么东东啊? 有没有局域网控制每个客户打印多少的打印机软件? 在pb中如何运行pb自带的同步器,急急急急急急 在Linux下开发B/S模式系统,请问安装在Linux的图形界面客户端上的浏览器选择什么为最好? 我的记录中有一个日期字段,如何将这个字段的值设为空值? 看奥赛题目,谁能挑战? 救急!用JSP把RESULT中的数据按一定的格式保存到一个指定的.TXT中。(100分) 《食来孕转》开拍 刘涛抱婴儿手足无何超云瘦身亮相 返港过母亲节拒回应感宋承宪《当男人恋爱时》幕后萌照(图)《致青春》经典台词大盘点《钢铁侠3》破4亿 总制片人吴冰解密那些让人窒息的美女美腿街拍郭美美澳门遇害满血复活 昔日炫富美照女屌丝的宿舍真的很吓人史上最贵的牛肉面 上万块一碗富二代杀妻怀疑妻不忠 女儿做DNA鉴高校女神学霸分布图 全新校花排行榜出孙燕姿产后巡演吸金千万刘烨混血儿女最新萌照曝光鸟叔做客访谈节目与主持人跳扭臀舞美国三女子遭囚十年后获救韩女子整形上瘾 美女模特变猪头20岁超模包中掉出白色粉末忙遮掩日本女主播被曝私生活混乱 与五十人有吴莫愁时尚大片曝光 黑白光影勾勒舞台郝蕾挺大肚现身机场 小老公体贴搬运行让人忍俊不禁的动物界吃货百态(组图)张猛抢“金爵”,黄海波呢?湖南省湘潭市水务局党委书记、局长余国用口述见证廖冰兄的一生当你超越别人一大截 竞争对手也会为你360报告称:“代写作业作文”网上泛温州鹿城区全面整治“大妈舞”噪音扰民41次转账挪用征地款350余万元 江“看不见”的政绩更服人海口观澜湖哈尔滨推进30个棚改项目 逐步探索“长沙:建筑企业因拖欠民工工资上“黑名海南高考报名人数首破6万不是刚需不用刻意换币名义公款旅游2014年职称疑为心脏病突发自动体外除颤仪餐厅对浪费者罚款难执行送碗绿豆汤给农民工解暑讲座举行澳每年“遗失”两亿多枚硬币
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘