自己記錄一下。
轉載于https://www.cnblogs.com/aspirant/p/5697807.html
分布式可繁也可以簡饱亮,最簡單的分布式就是大家最常用的壶栋,在負載均衡服務器后加一堆web服務器必盖,然后在上面搞一個緩存服務器來保存臨時狀態(tài)沫屡,后面共享一個數(shù)據(jù)庫饵隙,其實很多號稱分布式專家的人也就停留于此,大致結構如下圖所示:
這種環(huán)境下真正進行分布式的只是web server而已沮脖,并且web server之間沒有任何聯(lián)系金矛,所以結構和實現(xiàn)都非常簡單。
有些情況下勺届,對分布式的需求就沒這么簡單驶俊,在每個環(huán)節(jié)上都有分布式的需求,比如Load Balance免姿、DB饼酿、Cache和文件等等,并且當分布式節(jié)點之間有關聯(lián)時胚膊,還得考慮之間的通訊故俐,另外,節(jié)點非常多的時候澜掩,得有監(jiān)控和管理來支撐购披。這樣看起來,分布式是一個非常龐大的體系肩榕,只不過你可以根據(jù)具體需求進行適當?shù)夭眉簟0凑兆钔陚涞姆植际襟w系來看惩妇,可以由以下模塊組成:
分布式任務處理服務:負責具體的業(yè)務邏輯處理
分布式節(jié)點注冊和查詢:負責管理所有分布式節(jié)點的命名和物理信息的注冊與查詢株汉,是節(jié)點之間聯(lián)系的橋梁
分布式DB:分布式結構化數(shù)據(jù)存取
分布式Cache:分布式緩存數(shù)據(jù)(非持久化)存取
分布式文件:分布式文件存取
網(wǎng)絡通信:節(jié)點之間的網(wǎng)絡數(shù)據(jù)通信
監(jiān)控管理:搜集、監(jiān)控和診斷所有節(jié)點運行狀態(tài)
分布式編程語言:用于分布式環(huán)境下的專有編程語言歌殃,比如Elang乔妈、Scala
分布式算法:為解決分布式環(huán)境下一些特有問題的算法,比如解決一致性問題的Paxos算法
因此氓皱,若要深入研究云計算和分布式路召,就得深入研究以上領域勃刨,而這些領域每一塊的水都很深,都需要很底層的知識和技術來支撐股淡,所以說身隐,對于想提升技術的開發(fā)者來說,以分布式來作為切入點是非常好的唯灵,可以以此為線索贾铝,探索計算機世界的各個角落。
集群是個物理形態(tài)埠帕,分布式是個工作方式垢揩。
只要是一堆機器,就可以叫集群敛瓷,他們是不是一起協(xié)作著干活叁巨,這個誰也不知道;一個程序或系統(tǒng)呐籽,只要運行在不同的機器上俘种,就可以叫分布式,嗯绝淡,C/S架構也可以叫分布式宙刘。
集群一般是物理集中、統(tǒng)一管理的牢酵,而分布式系統(tǒng)則不強調(diào)這一點悬包。
所以,集群可能運行著一個或多個分布式系統(tǒng)馍乙,也可能根本沒有運行分布式系統(tǒng)布近;分布式系統(tǒng)可能運行在一個集群上,也可能運行在不屬于一個集群的多臺(2臺也算多臺)機器上丝格。
分布式是相對中心化而來撑瞧,強調(diào)的是任務在多個物理隔離的節(jié)點上進行。中心化帶來的主要問題是可靠性显蝌,若中心節(jié)點宕機則整個系統(tǒng)不可用预伺,分布式除了解決部分中心化問題,也傾向于分散負載曼尊,但分布式會帶來很多的其他問題酬诀,最主要的就是一致性。
集群就是邏輯上處理同一任務的機器集合骆撇,可以屬于同一機房瞒御,也可分屬不同的機房。分布式這個概念可以運行在某個集群里面神郊,某個集群也可作為分布式概念的一個節(jié)點肴裙。
----------------
一句話趾唱,就是:“分頭做事”與“一堆人”的區(qū)別
作者:冷夜
鏈接:http://www.zhihu.com/question/20004877/answer/61025046
來源:知乎
著作權歸作者所有,轉載請聯(lián)系作者獲得授權蜻懦。
分布式是指將不同的業(yè)務分布在不同的地方甜癞。 而集群指的是將幾臺服務器集中在一起,實現(xiàn)同一業(yè)務阻肩。
分布式中的每一個節(jié)點带欢,都可以做集群。 而集群并不一定就是分布式的烤惊。
舉例:就比如新浪網(wǎng)乔煞,訪問的人多了,他可以做一個群集柒室,前面放一個響應服務器渡贾,后面幾臺服務器完成同一業(yè)務,如果有業(yè)務訪問的時候雄右,響應服務器看哪臺服務器的負載不是很重空骚,就交給哪一臺去完成。
而分布式擂仍,從窄意上理解囤屹,也跟集群差不多, 但是它的組織比較松散逢渔,不像集群肋坚,有一個組織性,一臺服務器垮了肃廓,其它的服務器可以頂上來智厌。
分布式的每一個節(jié)點,都完成不同的業(yè)務盲赊,一個節(jié)點垮了铣鹏,那這個業(yè)務就不可訪問了。
2:簡單說哀蘑,分布式是以縮短單個任務的執(zhí)行時間來提升效率的诚卸,而集群則是通過提高單位時間內(nèi)執(zhí)行的任務數(shù)來提升效率。
例如:
如果一個任務由10個子任務組成递礼,每個子任務單獨執(zhí)行需1小時惨险,則在一臺服務器上執(zhí)行該任務需10小時。
采用分布式方案脊髓,提供10臺服務器,每臺服務器只負責處理一個子任務栅受,不考慮子任務間的依賴關系将硝,執(zhí)行完這個任務只需一個小時恭朗。(這種工作模式的一個典型代表就是Hadoop的Map/Reduce分布式計算模型)
而采用集群方案,同樣提供10臺服務器依疼,每臺服務器都能獨立處理這個任務痰腮。假設有10個任務同時到達,10個服務器將同時工作律罢,1小時后膀值,10個任務同時完成,這樣误辑,整身來看沧踏,還是1小時內(nèi)完成一個任務!
集群一般被分為三種類型巾钉,高可用集群如RHCS翘狱、LifeKeeper等,負載均衡集群如LVS等砰苍、高性能運算集群;分布式應該是高性能運算集群范疇內(nèi)潦匈。
分布式:不同的業(yè)務模塊部署在不同的服務器上或者同一個業(yè)務模塊分拆多個子業(yè)務,部署在不同的服務器上赚导,解決高并發(fā)的問題
集群:同一個業(yè)務部署在多臺機器上茬缩,提高系統(tǒng)可用性
小飯店原來只有一個廚師,切菜洗菜備料炒菜全干吼旧。后來客人多了凰锡,廚房一個廚師忙不過來,又請了個廚師黍少,兩個廚師都能炒一樣的菜寡夹,這兩個廚師的關系是集群。為了讓廚師專心炒菜厂置,把菜做到極致菩掏,又請了個配菜師負責切菜,備菜昵济,備料智绸,廚師和配菜師的關系是分布式,一個配菜師也忙不過來了访忿,又請了個配菜師瞧栗,兩個配菜師關系是集群