自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從咖啡館的經(jīng)營看Web應(yīng)用的擴(kuò)展

開發(fā) 前端
譯注:這是一篇趣文,作者是Vistaprint的工程師Sriram Devadas,他用如何經(jīng)營一家咖啡館作為例子來講解Web應(yīng)用所面臨的擴(kuò)展問題,文章生動(dòng)有趣,講解淺顯易懂。

譯注:這是一篇趣文,作者是Vistaprint的工程師Sriram Devadas,他用如何經(jīng)營一家咖啡館作為例子來講解Web應(yīng)用所面臨的擴(kuò)展問題,文章生動(dòng)有趣,講解淺顯易懂。

我經(jīng)營著一家咖啡館。經(jīng)營成本同所用的資源成正比。

我的咖啡館店面大概有一百平方英尺(約九平方米),雇傭了一個(gè)咖啡師,一臺(tái)咖啡機(jī)。

營業(yè)能力:

每次能夠服務(wù)一個(gè)顧客,用三分鐘泡制一杯咖啡,算下來服務(wù)一個(gè)顧客的總時(shí)間是五分鐘。

如果我的咖啡師不間斷的工作,并且所使用的德制咖啡機(jī)不會(huì)出問題,那么我的咖啡館的接待量為每小時(shí)十二位顧客。

fig1

Web服務(wù)器

高峰時(shí)期顧客很多,可是我們每次只能服務(wù)一位顧客,并且沒有等候區(qū)。

所以我升級(jí)了店面,新店很棒!

升級(jí)后配置:

同樣地店面面積,雇傭了三個(gè)咖啡師,購置了兩臺(tái)咖啡機(jī)并添加了兩張椅子。

營業(yè)能力:

三分鐘能夠泡制兩杯咖啡,約七分鐘能夠同時(shí)(Concurrent)服務(wù)三位顧客,并且還有兩位顧客可以在新加的椅子上排隊(duì)等待。

并發(fā)服務(wù)的顧客量=3,顧客接待量=5。

fig2

縱向擴(kuò)展

新店大受歡迎,顧客絡(luò)繹不絕,所以我再次升級(jí)了店面,新店面更大!設(shè)施更好!

升級(jí)后配置:

兩百尺的店面,五位咖啡師,四臺(tái)咖啡機(jī),三把椅子。

營業(yè)能力隨著投入的增加而變大,一切似乎都很美好。

然而隨著夏天的到來,也到了咖啡館經(jīng)營的淡季。這時(shí)候由于經(jīng)營成本的壓力,我想減少店面的配置。但是我的老板不會(huì)讓我這么干。

由于業(yè)務(wù)的漲落,縱向擴(kuò)展對(duì)于我和我的咖啡館而言代價(jià)有些過于昂貴了。有時(shí)候更大并不意味著更好。

fig3

通過業(yè)務(wù)量負(fù)載均衡進(jìn)行橫向的擴(kuò)展

經(jīng)過商議,老板同意以三個(gè)咖啡師為一組調(diào)整咖啡館資源的配置,如果我事先通知,他可以增加或減少這樣一組資源。

要是我能夠管理多個(gè)同樣配置的資源組…

是的,正好有這樣一種特殊的吧臺(tái)!這種吧臺(tái)允許一個(gè)咖啡師同時(shí)服務(wù)多個(gè)顧客,事實(shí)上為顧客服務(wù)的人并不一定非要是咖啡師,顧客只需要有人為他們下單就可以了,并且咖啡師也并不需要直接同這些難纏的顧客打交道。

所以我做出了改進(jìn)。如果我有擴(kuò)展業(yè)務(wù)的需求,我會(huì)額外雇傭三個(gè)咖啡師(老板說OK),并且將他們放到哪個(gè)特殊的吧臺(tái)中,如果業(yè)務(wù)量下降,我就會(huì)解除雇傭合同,讓三位咖啡師撤出吧臺(tái)。

隨著投入的增加,店面的接待能力變得更強(qiáng),同時(shí)營業(yè)能力可以動(dòng)態(tài)調(diào)整。

fig4

資源密集型處理

我發(fā)現(xiàn)我的咖啡機(jī)非常全能,能夠制造各種食品。許多顧客建議我應(yīng)該在菜單中加上烤面包,我就這么做了。

這時(shí)候出現(xiàn)了一個(gè)問題:我所用的兩臺(tái)咖啡機(jī)需要花兩倍泡制咖啡的時(shí)間來烤一磅的面包。

這么算來,烤一磅面包所花的時(shí)間等于泡制四杯咖啡所用的時(shí)間。

這樣一來,面包訂單有的時(shí)候會(huì)阻塞整個(gè)系統(tǒng)!點(diǎn)咖啡的顧客很不滿,大家都在議論我的經(jīng)營方式太低效。

我需要一個(gè)根據(jù)營業(yè)負(fù)載分流訂單的方法,使我的資源能夠優(yōu)化的利用。

fig5

基于處理的異步隊(duì)列

我發(fā)明了一種使用號(hào)牌的隊(duì)列系統(tǒng)。

顧客到來,點(diǎn)單之后會(huì)拿到一個(gè)號(hào)牌并等待。

訂單被分置于兩個(gè)輸入隊(duì)列中,分別是面包和咖啡。

咖啡師根據(jù)目前兩個(gè)隊(duì)列以及店面資源的狀況選擇是響應(yīng)咖啡訂單還是面包訂單。

一旦咖啡或是面包準(zhǔn)備好了,會(huì)被放置于一個(gè)輸出托盤中,并且服務(wù)員會(huì)叫號(hào),顧客會(huì)把東西端走。

  • 雖然輸入隊(duì)列及輸出托盤是新加的,但是仍舊使用這些資源,只是說服務(wù)方式不同了。
  • 投入和服務(wù)能力的計(jì)算很復(fù)雜,所以整個(gè)系統(tǒng)的復(fù)雜性也隨之增加了。所以如果這期間發(fā)生了問題,處理和解決將是很頭疼的。
  • 如果顧客們能夠接受這種異步的服務(wù)方式,并且我們能夠控制這么復(fù)雜的系統(tǒng),那我的咖啡館就能夠根據(jù)業(yè)務(wù)量擴(kuò)展的同時(shí)還能提供多樣的服務(wù)種類。這足以嚇退那些競(jìng)爭(zhēng)對(duì)手。

fig6

寫在***

我們已經(jīng)討論了Web服務(wù)器、負(fù)載均衡以及基于隊(duì)列的異步系統(tǒng),那么接下來呢?

我的咖啡館比喻已經(jīng)可以結(jié)束了。

如果你真這些感興趣,去找找經(jīng)典的系統(tǒng)擴(kuò)展的例子看看,例如循環(huán)DNS或其他相關(guān)技術(shù)。

如果你在Web應(yīng)用擴(kuò)展方面還是新手,那么先照著這篇文章中提到的方法先試試。

我所用的咖啡館模擬只是一個(gè)簡化的問題抽象,目的是描述Web應(yīng)用擴(kuò)展問題的精髓。

如果你真想學(xué),那么仔細(xì)琢磨下這些系統(tǒng),并且找個(gè)有實(shí)際經(jīng)驗(yàn)并懂行的人討論一下,那會(huì)很有幫助。

原文鏈接: highscalability   翻譯: 伯樂在線 - 熊崽Kevin

譯文鏈接: http://blog.jobbole.com/63235/

責(zé)任編輯:林師授 來源: 伯樂在線
相關(guān)推薦

2012-07-25 09:44:31

翼起來·創(chuàng)業(yè)咖啡館

2011-03-23 10:45:44

Group Messa應(yīng)用

2013-01-22 10:37:50

開咖啡館搞移動(dòng)互聯(lián)網(wǎng)

2013-05-06 10:31:31

飛魚星無線路由器無線解決方案

2014-10-22 10:42:08

無線華為

2018-12-29 14:12:33

FTPRMIXML-RPC

2010-11-24 09:16:19

云計(jì)算打印機(jī)

2013-05-23 09:34:49

Big Data大數(shù)據(jù)

2019-10-24 08:56:38

語言代碼Java

2015-06-19 13:54:49

2019-09-24 10:17:14

2018-08-31 15:36:45

JavaPythonRuby

2014-11-06 09:44:28

2011-05-13 15:52:33

商用平板及應(yīng)用

2014-02-17 17:18:00

程序員

2023-09-11 10:17:20

Go編程語言

2011-03-14 14:34:57

2019-05-06 10:51:49

總監(jiān)技術(shù)場(chǎng)景

2019-05-13 08:51:53

總監(jiān)技術(shù)CTO

2016-12-05 16:44:00

前端程序員月薪
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)