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

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

keydown(fn) -JQuery API keypress(fn)-JQuery API keyup(fn)-JQuery API load(fn)-JQuery API mousedown(fn)-JQuery API mousemove(fn)-JQuery API mouseout(fn)-JQuery API mouseover(fn)-JQuery API mouseup(fn)-JQuery API one(type,data,fn)-JQuery API ready(fn)-JQuery API resize(fn)-JQuery API scroll(fn)-JQuery API select(fn)-JQuery API select()-JQuery API submit(fn)-JQuery API submit()-JQuery API toggle(even,odd)-JQuery API trigger(type)-JQuery API unbind(type,fn)-JQuery API unload(fn)-JQuery API Effects特效-JQuery API animate-JQuery API fadeIn(speed, callback)-JQuery API fadeOut(speed,callback)-JQuery API fadeTo(speed,opacity,callback)-JQuery API hide(speed,callback)-JQuery API hide()-JQuery API show(speed,callback)-JQuery API show()-JQuery API slideDown(speed,callback)-JQuery API 软件发布:出纳助手 软件发布:恒诺尔编辑器 哪里有关于TTreeView 和 TListView控件的使用例程,还请网友指点! 软件发布:网页快拷 软件发布:股海点金 软件发布:超级视频采集器 软件发布:网图 2001 软件发布:沸点群发邮件系统 软件发布:邮箱巡捕器 软件发布:功能强大易用的FTP服务器软件(XFTPSVR) 软件发布:邮件监听 软件发布:远程主机管理 软件发布:疯狂俄罗斯【4人网络版】0.26b1 软件发布:拼图 软件发布:凯蒂神卜2001 哪位高手作过网站建设?请帮忙!!! 软件发布:五子棋大战 光驱的问题 软件发布:扑克(版本:36.0,玩法的数量和版本号一样) 软件发布:鸿森万能证件打印系统 软件发布:密码盗窃器(超小版:30k) 软件发布:寝室多人共享上网计时计费器 软件发布:美萍安全卫士密码破解器 软件发布:整人蛀虫 SQL SERVER存储过程的问题!!!! 软件发布:词痴 软件发布:自动关机 软件发布:南易彩票选号系统 pfc基类庫是纯英字,谁有中文的。 软件发布:精灵英文输入法(写代码助手) 软件发布:QQSpy密码探测器98版 for 0425 高手请,为何在不同地方打开对话框会有不同的结果呢? 软件发布:《商务导航》 软件发布:amp player 豪华版 如何关闭XCOPY打开的窗口,详细一点 请援手:pfc程序如何再升级?(关于版本更新) 谁是高手,一个事务处理问题。 大家来聊聊:JBUILDER5比JUILDER4在那方面改进了!? 我们这个破烂小公司成天TMD瞎折腾! 根据用户名和密码登陆的问题! 大家来说一下,中程和高程证书在找工作时作用怎样 Dialog上放了一个group box,请问如何动态改变group box框框中的整个颜色?急呀! 用程序向表中插数据的问题? 怎样制作一个类似日历的控件?快快快! 做个调查:在上海delphi的前景如何?现在工资怎么样? 如何给graph控件的values赋值. c++Builder的悲哀历程,求助帮忙,各位大虾多指点 建议封杀e_lion,影响看贴情绪!杀无赦!!! 请教高手:我用vc6.0向导生成了一个Utility Project,不想用MFC AppWizard(exe)生成的基本类,可我无法编译我写的cpp(带winMain函数)文件,为何? 无任何理由,第一个进来者300分。当场结帐。 各位,是如何调试自己编写的servlet的,我使用jswdk每次,修改servlet后都要重启一次服务器,有没有什么好法子。 一辆卡车运矿石,晴天每天可运20次,雨天每天客运12次,共运112次,这8天中有几天是雨天, 你哥哥的生日在三月份吗?是的.在3月12日.那天,是植树节.英语翻译. 教室里的男生人数是女生人数的三倍,后来走出去18名男生,这时教室里的男女生人数一样多.原来男女生各多少人 一辆卡车运矿石,晴天每天可运16次,雨天每天可运11次,这辆卡车一连几天共运了195次,平均每天运13次.这几天有多少天是雨天?有多少是晴天? 为推广普通话设计一条宣传标语,要运用一种修辞手法, 1:教室里男生是女生数的3倍,走出去18名男生后,教室里男女生人数相同,原来男生女生各有多少(用方程解,把方程步骤写出来)2:一队少先队员乘船过河时,如果每船做15人,还剩9人没上船,如 兔妈妈采蘑菇,8天共采112个,晴天18个,雨天10个,那么有几天雨天? 一辆卡车运石头,晴天每天可以运20次,雨天每天可以运12次,他一连运了112次,平均每天运14次,问这几天中有几天晴天,几天雨天?不用方程。 为推广普通话设计两条宣传标语 要求:紧扣主题 不超过十五个字 运用一种修辞手法 松鼠妈妈采松子,晴天每天可采20个,雨天每天可采12个,它一连几天采了112个松子,平均每天采14个.这几天中有几天是晴天,几天是雨天?二元一次方程组的,写清楚点 一辆卡车给工地运砖,晴天每天可运12次,雨天每天可运8次,在三周时间里,共运了220次.这3周里晴天和雨天 推广普通话标语 松鼠妈妈采松子,晴天每天可采20个,雨天采12个,它一连8天内共112个松子,这7天中有几天是雨天?. 一辆汽车运矿石,晴天每天可运14次,雨天每天只呢运3次,这辆汽车运了17天,共运了139次,这些天有多少天天简单明了的要算是 [非常之急]推广普通话的标语对不起,按错回车键,现开始写详细内容:要短小精致的,出处不限(不要拿知道已经有的啦,越快越好,可能视回答情况加分哦!补充内容:我都看过的啦,来条不一样 松鼠妈妈采松子,晴天可以采24,雨天可以采16.几天共采了168松子,平均采21个这几天一共有多少天是晴天? 一辆卡车运矿石,晴天每天可以运16吨,雨天每天可运11次,这辆卡车一连几天共运了195次,平均每天运13次,这几天中几天是雨天,几天是晴天?假设这几天都是晴天不能用方程 关于推普的标语麻烦各位了.要有创意的,幽默的. 松鼠妈妈采松子,晴天每天可采20个,雨天可采12个.它一连几天共采了112个松子,平均每天采14个,请算出有几天是雨王.请算出有几天是雨天。 松鼠妈妈采松果,晴天可以采20个,雨天只能采十个.他一连几天采了120个,平均每天采12个这几天有几个雨天 以读书为话题写一条标语,至少运用一种修辞手法 兔妈妈一共采了112个萝卜,平均每天采14个,晴天每天采20个,雨天每天采16个,问这几天中有几个雨天? 小松鼠采松子,雨天每天采12个,晴天每天可采20个.它一连几天采了112个松子,平均每天采14个,问这几天当问这几天当中有几天是晴天要用假设法 为营造书香校园氛围,请你以读书为话题拟写一条标语,至少用一条修辞手法. 小兔子去捡萝卜,晴天能捡20个,雨天能捡12个,这几天小兔子共采了112个萝卜,平均每天采14个,问这几天当有几天是雨天 小松鼠跟妈妈采松子,他们晴天每天采30个,雨天每天采24个,采了一周后,他们发现晴天比雨天少采了6个,这周的晴天和雨天各有多少天? 安全教育的宣传标语,(用上一种修辞手法) 小兔采蘑菇,晴天采19个,雨天采12个,它一周采了112个,问这一周有几天下雨几天晴天! 请问;小松鼠采松子,晴天每天18粒,雨天每天采12粒,12天共采了204粒松子,在这期间有几天是雨天.;要列式. 拟标题(至少用一种修辞手法)某中学为帮助贫困山区的失学儿重返课堂,要在全校展开一次献爱心捐款、捐物、捐书活动.请你为这次活动拟一条校园标语(至少用一种修辞手法) 小白兔晴天拔40个萝卜,雨天就是拔25个,连拔了10天,拔了280个.10天里几天雨天?求求大家!(问题解法:方程) 松鼠采松果,晴天每天可采20个,雨天每天可才采12个,它一连几天采了112个松果,平均每天采14个,问这几天当中有几天是雨天? 为了营造读书的氛围,请你引用一句名言作为活动的主题标语.名言中至少包含一种修辞手法 小白兔采萝卜,晴天每天可采25个,雨天只能采15个.它一连采了210个萝卜,平均每天采21个,几天晴天几天雨 小松鼠采松果,晴天可以采35个,雨天可以采22个,它13天共采了403个松果.这期间晴天有多少天?(用方程解 男女生有若干人,男生与女生之比为人数4:3,后来女生走了12人,此时男生人数是女生的2倍求原男女生人数列方程,不算 一群兔子拔萝卜,如果有2只各拔4个其余各拔6个地里还剩10个萝卜 如果有三只各拔6个 其余各拔7个则刚好拔完问:有多少只兔子 多少个萝卜?不用方程 松鼠妈妈采松子晴天可以采20个雨天可以采12个他一连几天采了112个平均每天采14个问有几个晴天几个阴天 某班有男女人数的比为4:3,后来女生走了12名,这时男生人数恰好是女生的2倍,求原来男女生人数? 兔妈妈拔萝卜,晴天每天拔20个,雨天每天拔10个,一连几天共拔了140个.平均每天拔14个,有几个雨天几个晴天? 植树节期间,某某单位在一段长10分之9千米的路上从头到尾等距离栽了46棵树,则相邻两棵树的距离是多少千米? 男女生有若干人男生与女生人数之比四比三后来走了十二名女生,这时男生人数恰好是女生人数的2倍,求原男生与女生各有多少人? 找一幅图,两只兔子拔萝卜.一个是大萝卜一个是小萝卜,小萝卜的兔子在嘲笑拔大萝卜的兔子.buddy_cao艾特hotmail.com 今年植树节,学校参加植树活动,成活了250棵,还有8棵没有成活.这批树的成活率是多少?求算式! 阅览室里有男女生若干人,男生与女生若干人,男生与女生的人数之比为四比三,后来有十二名女生走了,这时,男生人数恰好是女生人数的二倍,求原来的男生女生的人数. (1)小兔子丁丁帮妈妈拔萝卜,每天能拔5分之2kg,可今天他只拔了4分之3天,那有多少千克呢?要算式,六年级上册分数乘法要约分 我国的植树节为什么定于3月12日? 某校六年级男生人数是女生人数的四分之三,后来转进3名女生,这时男生人数是女生人数的三分之二.现在这个班有多少名学生? 我晴天每天采24个玉米棒,雨天每天采16个,这几天我共采拉168个平均每天采21个.这几天有几天是晴天? 植树节为什么订在3月12日 某校六年级男生人数是女生人数的2/3,后来转进2名男生,转走3名女生,这样男生人数是女生人数的3/4.原来 小猴晴天每天可采24个玉米,雨天可采16个,这几天小猴共采了168个玉米,平均每天采21个,这几天共有几天晴天,几天雨天? 英汉互译 1.国庆节2.五一劳动节3.植树节 某校六年级男生人数是女生人数的2/3,后来有转进2名男生,转轴3名女生,这是男生某校六年级男生人数是女生人数的2/3,后来有转进2名男生,转轴3名女生,这是男生人数是女生人数的75%。该校 小白兔采蘑菇,晴天每天采16个,雨天每天采11个,一共采了195个,平均每天采13个,这几天中有几天是雨天? 关于植树节英语日记.用过去式写一篇关于植树节和朋友去植树的过程,5句话以上.最好带有翻译.跪谢! 1、某班男女人数比是4:3,后来又转走2名男生,这时男女人数比6:5,女生有多少人?2、男职工比全厂职工的5分之3多60人,女职工是男职工的3分之1,一共有职工多少人?用算式,不要方程,麻烦大家了. 白兔妈妈采蘑菇,晴天每天采30个,雨天每天采12个.它一连采了20天,一共采了510个蘑菇,这些天中一共有多少个晴天,多少个阴天? 用英文翻译:你的祖母的生日是什么时候?7月12日 你的生日是什么时候?8月17日,你呢?3月12日,植树节 某班原来男生是女生的2/5,后来转来一名男生,这时男女生人数之比是3:7,问,男女生个多少人?帮下我!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn