一分鐘理解分布式和集群
先給出我理解的定義分布式是一組通過網(wǎng)絡(luò)互連的計算機(jī)組成的系統(tǒng);集群是指為完成一個或者一組相關(guān)任務(wù)的分布式系統(tǒng)。
上圖是分布式的架構(gòu),四個節(jié)點(diǎn)相互連接;分布式只是表達(dá)一種拓?fù)潢P(guān)系不涉及到具體的業(yè)務(wù)。
現(xiàn)在為抽象的拓?fù)浣Y(jié)構(gòu)疊加上應(yīng)用(讓它可以實(shí)際工作起來),比如其中一臺機(jī)器承擔(dān)負(fù)載均衡的角色。這就是集群——即,為完成實(shí)際的任務(wù)而互聯(lián)的一組計算機(jī)。
一般來說有幾類“任務(wù)”(目標(biāo)):
- 高可用,其中一臺服務(wù)器掛掉不影響整個系統(tǒng)的正常運(yùn)行。比如 Keepalived
- 負(fù)載均衡,工作負(fù)載被分配到不同機(jī)器上執(zhí)行。比如 LVS
- 高性能計算,對一個大任務(wù)分解,利用多個節(jié)點(diǎn)的資源組合完成計算。比如 Hadoop
- 網(wǎng)格計算,以共享存儲為基礎(chǔ),多個節(jié)點(diǎn)共同完成計算任務(wù)。在這個結(jié)構(gòu)中所有節(jié)點(diǎn)都是對等的。比如 Oracle RAC。
我們常說的 Master Slave 架構(gòu)其實(shí)是一種集群架構(gòu)模式,上面列表中的高可用、負(fù)載均衡、高性能計算都屬于這種架構(gòu)模式。
簡單來說:分布式是一個抽象概念,集群是具體實(shí)現(xiàn)。一個集群系統(tǒng)一定是分布式的,而分布式未必是集群(比如互聯(lián)網(wǎng)是分布式系統(tǒng),但是它不是集群)。
【本文是51CTO專欄作者“邢森”的原創(chuàng)文章,轉(zhuǎn)載請聯(lián)系作者本人獲取授權(quán)】




























