-
1 # 一個沒有靈魂的程式設計師
-
2 # 明日流水
分散式:不同的業務模組部署在不同的伺服器上或者同一個業務模組分拆多個子業務,部署在不同的伺服器上,解決高併發的問題 叢集:同一個業務部署在多臺機器上,提高系統可用性
-
3 # 會點程式碼的大叔
叢集
同一個業務,部署在多臺伺服器上,這個就叫做叢集。
集群裡面,每一臺伺服器實現的功能沒有差別。
比如我有一個系統A,提供一個很簡單的介面,根據員工編號查詢員工姓名和他的考勤記錄。
當有一個系統呼叫這個介面的時候,我部署一臺伺服器就夠用了。
當有一百個系統呼叫這個介面的時候,我就部署十臺伺服器,前面掛一個負載均衡。
這就是叢集部署,當一臺伺服器掛了以後,不影響功能使用。
分散式一個業務被拆成多個子業務,部署在多臺伺服器上,這個就叫做分散式。
分散式裡面,每一臺伺服器實現的功能是有差別的,分散式每臺伺服器功能加起來,才是完整的業務。
還是這個業務場景,我有一個系統A,提供一個很簡單的介面,根據員工編號查詢員工姓名和他的考勤記錄。
我拆開兩個系統:人員管理系統B和考勤系統C,分別部署在兩臺伺服器上。
這個就是分散式。
好處是什麼呢?如果有系統D也需要使用人員資訊,傳統的方式系統A和D都要有人員資訊管理功能,意味著兩個系統各自維護人員資訊,那新入職一個員工,可能要在系統A和D裡面都維護;如果是有EFGHI系統都需要人員資訊呢?
而分散式解決了這個問題,人員資訊單獨拎出來是一個系統,維護人員資訊,同時對外提供查詢服務。
分散式+叢集很多時候要結合起來一起用。
還是這個業務場景,我有一個系統A,提供一個很簡單的介面,根據員工編號查詢員工姓名和他的考勤記錄。
我拆開兩個系統:人員管理系統B和考勤系統C。
那麼系統B部署在十臺伺服器上,系統C部署在十臺伺服器上;前面分別掛負載均衡;這樣保證了每個子業務功能的高可用。
-
4 # 一個嬉笑的小白
簡單舉個列子,老師安排一項作業。這位同學關係和其他同學比較好,於是分工其他同學,讓他們幫他一起完成這項工作。這就是分散式。叢集呢,這個同學有想法,於是先給他們說好,咱們中其中一個要做完這項工作。為了增加這項工作可以必須完成保證。希望對你有所幫助。
回覆列表
這是個很專業的問題,作為一個資深java工程師,我想我還是有資格來回答這個問題的,下面我就開始闡述一下什麼是分散式和叢集。
首先,講分散式之前先說一下單機模式的系統,單機模式是說一個伺服器就部署一個應用,一個應用上包含很多功能,當用戶規模小,請求數不多,那麼這個單機模式可以支撐業務,但是如果訪問量特別大,你會發現一個伺服器無法支撐大的訪問量,於是為了解決這個高併發的問題,就產生了叢集的概念,就是用好多伺服器,每個伺服器上部署相同的應用。這個就能支撐高併發請求了。
其次,我們來說下分散式是什麼,是怎麼產生的,顧名思義,分佈說明應用是分散在不同的伺服器上的,當叢集無法滿足業務需求時,業務耦合度高,需要降低各功能模組的耦合度,因此就對一個大系統進行拆分成小系統,單獨部署,易於維護,這就產生了分散式。
最後說下他們的應用場景,分散式主要是應用在大型網站系統,比如天貓,淘寶等,叢集一般配合分散式使用。