1)分布式是指多個系統(tǒng)協(xié)同合作完成一個特定任務(wù)的系統(tǒng)。
分布式是解決中心化管理的問題,把所有的任務(wù)疊加到一個節(jié)點(diǎn)處理,太慢了。
所以把一個大的問題拆分為多個小的問題,并分別解決,最終協(xié)同合作。分布式的主要工作是分解任務(wù),將職能拆解。
中心化帶來的主要問題是可靠性,若中心節(jié)點(diǎn)宕機(jī)則整個系統(tǒng)不可用,分布式除了解決部分中心化問題,也傾向于分散負(fù)載,但分布式會帶來很多的其他問題,最主要的就是一致性。
2)集群主要的使用場景是為了分擔(dān)請求的壓力,也就是在幾個服務(wù)器上部署相同的應(yīng)用程序,配合負(fù)載均衡來分擔(dān)客戶端請求。
當(dāng)壓力進(jìn)一步增大的時候,可能在需要存儲的部分,mysql無法面對很多的寫壓力。因?yàn)樵趍ysql做成集群之后,主要的寫壓力還是在master的機(jī)器上面,其他slave機(jī)器無法分擔(dān)寫壓力,從而這個時候,也就引出來分布式。
分布式的主要應(yīng)用場景是單臺機(jī)器已經(jīng)無法滿足這種性能的要求,必須要融合多個節(jié)點(diǎn),并且節(jié)點(diǎn)之間是相關(guān)之間有交互的。相當(dāng)于在寫mysql的時候,每個節(jié)點(diǎn)存儲部分?jǐn)?shù)據(jù),也就是分布式存儲的由來。在存儲一些非結(jié)構(gòu)化數(shù)據(jù):靜態(tài)文件、圖片、pdf、小視頻 ... 這些也就是分布式文件系統(tǒng)的由來。
如:現(xiàn)在的Spring Cloud的分布式微服務(wù)架構(gòu),一個系統(tǒng)分解成了多個Spring Boot的微服務(wù),各個微服務(wù)協(xié)同合作完成特定的任務(wù)。同個微服務(wù)又可以部署多臺服務(wù)器形成微服務(wù)集群,從而提供高可用服務(wù)。
3)集群主要是簡單加機(jī)器解決問題,對于問題本身不做任何分解;
分布式處理里必然包含任務(wù)分解與答案歸并。分布式中的某個子任務(wù)節(jié)點(diǎn),可能由一個集群來代替;集群中任一節(jié)點(diǎn),都是做一個完整的任務(wù)。
集群和分布式都是由多個節(jié)點(diǎn)組成,但是集群之間的通信協(xié)調(diào)基本不需要;而分布式各個節(jié)點(diǎn)的通信協(xié)調(diào)必不可少。