小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

漫話:如何給女朋友解釋什么是分布式和集群?

 長沙7喜 2019-02-18

漫小畫

擅長漫話

程小員

擅長編程


某天,下班較早,我正在玩吃雞,已經(jīng)到?jīng)Q賽圈了,這時候,女朋友滿臉求知欲的朝我走過來。

上次他們都說你給我講的面向對象太簡單了。




那你想怎樣?為什么我一玩游戲你就過來問我問題呢?


我不管,你給我說說分布式和集群是啥東東?



我頭也不抬,直接拋出一句:


分布式(distributed)是指在多臺不同的服務器中部署不同的服務模塊,通過遠程調用協(xié)同工作,對外提供服務。


集群(cluster)是指在多臺不同的服務器中部署相同應用或服務模塊,構成一個集群,通過負載均衡設備對外提供服務。



說人話,這東西我聽不懂。




好吧。走,我們先出去吃飯。邊吃邊聊。


集中式系統(tǒng)


我和女朋友來到一家小飯店,開始點菜:紅燒魚、糖醋排骨、酸辣土豆絲,好了就這么多了。


現(xiàn)在,我們和這家飯店之間的就是用戶和系統(tǒng)的關系。我們要求他給我們做出一頓豐盛的晚餐。我們不關心他后廚的一切事情。只要它能在短時間內提供美味的菜品就好了。


上面,我們對這個飯店提出來兩個要求:上菜時間短、菜品美味。除了這些,顧客可能還有其他要求,比如菜品要干凈衛(wèi)生、酸辣土豆絲可以多放些辣椒等。


映射到計算機系統(tǒng)中,用戶提出的要求就是:


上菜時間短   -> 性能
干凈衛(wèi)生    -> 安全性
菜品多放辣椒 -> 擴展性
菜品美味    -> 可用性


上面說的這家小飯店,只有一個廚師。就是一個集中式系統(tǒng)。

一個集中式部署的電子商務應用


如果飯店內只有我們一個顧客的話,以上幾條基本都可以滿足的。但是,如果到了晚飯時間,突然顧客變多了,這些顧客的要求可能就沒辦法全都滿足了。


飯店內人滿為患,這家小飯店只有一個廚師的情況下,他需要保證所有菜品美味、衛(wèi)生,又要保證所有菜品可以準時準備好,又要給不同用戶滿足定制化要求。這種挑戰(zhàn)是及其大的。


以上,映射到計算機軟件中,也是一樣的。隨著業(yè)務量的增長,網(wǎng)站的高可用、易伸縮、可擴展、安全等目標就會受到極大的挑戰(zhàn)。


集群部署


隨著飯店的生意越來越好,老板意識到只有一個廚師會存在很大問題。


首先,在客流量高峰期,一個廚師無法滿足所有顧客的要求。


其次,廚師變成了一個單點,就是他不能生病,一旦他生病了,整個飯店就無法營業(yè)了。


這可愁壞了老板,一時之間不知道該如何是好了。但是,老板有個聰明的老婆,他提了一個建議。


這有什么好發(fā)愁的?再雇傭幾個廚師就行了呀。




誒,你這個注意很不錯啊。



然后,為了提高飯店的待客能力。老板決定多雇傭幾個廚師。


有了多個廚師了之后。店內顧客的點菜,就可以分配給后廚的多個廚師來做。


具體如何分配,這就是需要一定的策略了??梢赃x擇分配給空閑的廚師、也可以按順序輪流分配。


雖然,飯店有多個廚師,但是用戶并不知道這些事情,他只知道自己的點菜需求,可以得到滿足就可以了。他也不需要關心到底是哪位廚師給自己做的菜。除非菜品出現(xiàn)了質量問題時,就需要找到指定的廚師來問責了。


以上,映射到計算機軟件中,也是一樣的。集中式系統(tǒng)只有一臺計算機提供服務,集群就是有多臺計算機提供同樣的服務。


一個集群部署的電子商務應用


用戶的請求通過負載均衡分配給集群中的各個機器。整個系統(tǒng)對于用戶來說就像是一臺機器在提供服務一樣。


分布式部署


在飯店雇傭了多個廚師之后,飯店的服務能力確實提升了很多。顧客也越來越多。


但是,最近店內經(jīng)常會有顧客投訴某個菜品的味道和自己之前吃到過的不一樣了。


經(jīng)過店長的仔細調查,發(fā)現(xiàn)是由于這家店的廚師除了要負責炒菜以外,還需要負責洗菜、切菜、備菜,甚至是刷碗。


這就使得廚師沒辦法專注于炒菜了,他會被很多其他的瑣事而牽絆,導致無法專心炒菜,影響了菜品的質量。


而且,由于最近店內的顧客也越來越多,幾個廚師還是忙不過來。


這時候,老板就要想辦法繼續(xù)提升飯店的服務能力。他想著要繼續(xù)雇傭幾個廚師。


還是飯店老板那個聰明的老婆,又給他出了一個更好的主意。


雇傭一個廚師多費錢啊,你用雇傭一個廚師的錢,雇傭幾個洗菜工、配菜師不就行了么。




誒,你這個注意很不錯啊



這就是一種分布式的思想。


通過把一件大的事情,拆分成多個小事情,分別交給不同的人來做。


這樣術業(yè)有專攻,洗菜的可以把菜洗的更干凈、廚師也可以專注炒菜,把菜炒的更加美味。


飯店從多個廚師的配置,變成了多個洗菜工+配菜師+廚師的配置。這家飯店的服務能力大大提升。再也沒有顧客投訴菜品問題了。


對于顧客來說,他們還是不知道后廚的這些變化的,他甚至不知道自己點的菜是多個人配合的結果。


以上,映射到計算機軟件中,也是一樣的。除了通過集群部署的方式提升系統(tǒng)能理外,還可以通過分布式部署的方式。

一個分布式部署的電子商務應用


把一個大的系統(tǒng)拆分成多個子系統(tǒng),每個子系統(tǒng)負責自己專注的事情,然后通過網(wǎng)絡進行通信和協(xié)調,對用戶來說,就像訪問的是同一臺機器一樣。


哇,太棒了。




你聽懂了對吧,什么都難不住我的。


什么啊,我想說,這紅燒魚太好吃了。




額、、、



隨著飯店的發(fā)展,慢慢的從只有一個廚師演變成有多個廚師,進而演變成有洗菜工、配菜師、廚師等多個職位。


這個網(wǎng)站架構發(fā)展也類似。網(wǎng)站初期,只需要搭建一個集中式的單體應用就可以了,如果業(yè)務量有很大增長,先考慮增加機器,通過集群部署提升能力。接著,就可以考慮分布式了。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多