驚訝,快餐店居然也能用高併發分佈式架構解決客流暴增?

溫馨提示:預估閱讀時間:2.7分鐘


小夥子開了一家快餐店叫開封菜,主營炸雞漢堡薯條,快餐店剛開始營業,小夥子一個人收銀、炸雞,所有活自己幹。

1、初始化 快餐店

驚訝,快餐店居然也能用高併發分佈式架構解決客流暴增?

2、解耦後的快餐店

驚訝,快餐店居然也能用高併發分佈式架構解決客流暴增?

假如有一天生病了,餐館關門停業幾天,什麼活都幹不了,所以這兩項工作要解耦(耦:古代指的是兩人並肩而耕地,一個不耕了,好傢伙,這地就沒法耕了)。解耦就是你炸雞的工作不會影響到我收銀的工作,怎麼做呢,再招一個員工當收銀員,原先那個員工專職做炸雞師傅,這樣就完成了系統解耦(即收銀和炸雞師傅那個工作互不干擾)。

3、使用消息隊列後的快餐店

驚訝,快餐店居然也能用高併發分佈式架構解決客流暴增?

快餐店業務解耦後,業務很快又開始展開了,現在的消費流程是,收銀員收款後告知後廚製作,但新問題又出現了,很多客人付款後在那裡等,後面來的客人一看人多就走了,前面來的客人點了餐被後面的客人拿走,就很生氣,發現這些問題後店鋪引入了點餐排號器(這就是隊列思想),點餐後客人知道自己是多少號,前面還有多少人,後廚根據點餐的序號進行餐點烹製,既解決了客人點餐的焦慮又解決了出餐和取餐不按順序來做的困擾,這就是消息隊列的作用:提高系統響應速度,順序處理,削峰。

4、使用集群后的快餐廳

客人能夠有序地拿到自己點的餐,服務滿意度提高了,生意也火爆了起來,但後廚僅有一個廚師在炸雞,只能廢寢忘食、加班加點的幹活,但還是忙不過來,顧客又開始抱怨了,這個時候店鋪一下子招了五個炸雞師傅,一下子緩解了工作壓力,組成了炸雞集群(集群:同一個業務部署在多臺機器上,提高系統可用性).

驚訝,快餐店居然也能用高併發分佈式架構解決客流暴增?

服務又能正常進行了,可是收銀的櫃檯只有一個,隊伍總是排得很長,排在後面的顧客不停地抱怨,這個時候只能增加收銀櫃臺,又增加了三個收銀員工,形成了收銀集群,服務質量得到了很好的保證,根據實際業務升級的兩套集群服務形成了一個集群體系。

5、使用分佈式後的快餐店

驚訝,快餐店居然也能用高併發分佈式架構解決客流暴增?

隨著後廚人數眾多,一個廚師要炸雞,不僅要自己分割雞肉,還要進行原料的處理,在後廚不停地忙碌,但效率卻不高,時間都浪費在去做餐品不同環節的路上和更換原材料、變更廚具上,店鋪在請教其他專家後把後廚人員安排成專屬環節廚師,這樣就加快了餐品的輸出,分割雞肉,裹炸雞粉,炸雞分別由三個不同的廚師完成,這就是

分佈式的特點,加快了各個環節的輸出。

6、使用負載均衡後的快餐店

驚訝,快餐店居然也能用高併發分佈式架構解決客流暴增?

現在的生意越來越好,後廚效率也得到了提升,出餐速度非常快,可收銀下單的地方人又開始堆積起來,店鋪又開了五個收銀通道,為了確保每個收銀通道都能一起工作避免資源浪費,就在門口安排了一個引導員,將顧客按照順序引導到每一個收銀通道去排隊,按照第一個、第二個、第三個,直到第八個後又從第一個開始,這樣就確保了每個通道資源不浪費,這就是

負載均衡輪詢方式的典型應用;

可問題又來了,新安排的收銀員由於業務剛上手對操作不熟練,導致分給她的客人遲遲下不了單,而幾個老收銀員由於業務熟練則能很快完成收銀操作,這個時候店鋪安排門口的引導員給熟悉業務的收銀員多分配一些客人,給業務不熟練的收銀員少分配幾個客人,這就確保客人能及時的下單,這就是負載均衡權重的方式

7、使用熱數據緩存後的快餐店

驚訝,快餐店居然也能用高併發分佈式架構解決客流暴增?

整個店鋪目前的發展已經非常穩定,各個環節都能夠及時處理客人的需要,還有一個問題是店鋪無法避免的,那就是用餐高峰總集中在早中晚那幾個小時,其他四五個小時店裡卻沒有什麼客人,在客人密集的那段時間,後廚操作再快有時也無法滿足客人的需要,總有客人抱怨,這個時候店鋪就想辦法,引進了一個食品保溫箱,能夠將當天生產的炸雞漢堡放在裡面保持溫度而品質又不變,對店裡客人經常點的菜品在沒有客人的時候提前製作出來放在裡面,當有客人下單後直接拿走,這就是熱數據緩存機制。


通過以上的服務解耦,引入消息隊列,進行集群化分佈式改造,進行負載均衡,搭建緩存數據集,小小的快餐店已經從一個單一化服務的店鋪晉升為集群分佈式服務的店鋪,下一步就是接入外賣和外部訂單系統進行雲服務化。

看了這些你是否懂得了業務解耦、消息隊列、系統集群、分佈式架構、負載均衡、熱數據緩存等體系,當你瞭解這些,恭喜你,已經成為了初級的“PPT架構師”,那麼如何才能架構日均億級訪問高併發、分佈式的系統,並進階成為一名真正的架構師?

要想成為一名優秀的架構師必須需要有圈子和前輩帶領少走彎路,必要的課程學習是少不了的,我們會通過一個架構師設計訓練營告訴你如何更加進一步掌握架構師的能力!


驚訝,快餐店居然也能用高併發分佈式架構解決客流暴增?


驚訝,快餐店居然也能用高併發分佈式架構解決客流暴增?


驚訝,快餐店居然也能用高併發分佈式架構解決客流暴增?


驚訝,快餐店居然也能用高併發分佈式架構解決客流暴增?


驚訝,快餐店居然也能用高併發分佈式架構解決客流暴增?


驚訝,快餐店居然也能用高併發分佈式架構解決客流暴增?


驚訝,快餐店居然也能用高併發分佈式架構解決客流暴增?


驚訝,快餐店居然也能用高併發分佈式架構解決客流暴增?


驚訝,快餐店居然也能用高併發分佈式架構解決客流暴增?

最後我想要說,如果你想要學習系統架構師,具備架構師能力,記得私聊我哦


分享到:


相關文章: