負載均衡和分佈式是一個意思嗎,有哪些區別?

範東臣


不是一個意思,下面按照我的理解說一下什麼是分佈式,什麼是集群,如果有理解錯誤的地方,請大家留言指正。


集群

同一個業務系統,部署在多臺服務器上,這個就叫做集群。

集群裡面,每一臺服務器實現的功能沒有差別,代碼都是一樣的。


比如我有一個系統A,提供一個很簡單的接口,根據員工編號查詢員工姓名和他的考勤記錄。

當有一個系統調用這個接口的時候,我部署一臺服務器就夠用了。

當有一百個系統調用這個接口的時候,我就部署十臺服務器,前面掛一個負載均衡。

這就是集群部署,當一臺服務器掛了以後,不影響功能使用。

我接觸過的負載均衡軟件有Nginx、LB、HAProxy,也有硬件諸如F5。



分佈式

一個業務被拆成多個子業務,部署在多臺服務器上,這個就叫做分佈式。

分佈式裡面,每一臺服務器實現的功能是有差別的,代碼也是不一樣的,分佈式每臺服務器功能加起來,才是完整的業務。


還是這個業務場景,我有一個系統A,提供一個很簡單的接口,根據員工編號查詢員工姓名和他的考勤記錄。

我拆開兩個系統:人員管理系統B和考勤系統C,分別部署在兩臺服務器上。


這個就是分佈式。


好處是什麼呢?如果有系統D也需要使用人員信息,傳統的方式系統A和D都要有人員信息管理功能,意味著兩個系統各自維護人員信息,那新入職一個員工,可能要在系統A和D裡面都維護;如果是有EFGHI系統都需要人員信息呢?

而分佈式解決了這個問題,人員信息單獨拎出來是一個系統,維護人員信息,同時對外提供查詢服務。


分佈式+集群

很多時候要結合起來一起用。


還是這個業務場景,我有一個系統A,提供一個很簡單的接口,根據員工編號查詢員工姓名和他的考勤記錄。

我拆開兩個系統:人員管理系統B和考勤系統C。

那麼系統B部署在十臺服務器上,系統C部署在十臺服務器上;前面分別掛負載均衡;這樣保證了每個子業務功能的高可用。


希望我的回答,能夠幫助到你!

我會持續分享Java程序開發、架構設計、職業發展等方面的知識和見解,希望能得到你的關注今日頭條【會點代碼的大叔】,轉載請註明出處。


會點代碼的大叔


根據我所知道的回答一下這個問題。

負載均衡和分佈式還真的不是一個意思。下面就分別說一說。

分佈式計算

分佈式計算是相對於集中式計算而言的,將應用分解成許多小的問題,分配給多臺計算機進行處理,各個計算機之間通過高速網絡交換數據,實現進程間的通信。可以大大提高計算效率。

一個分佈式系統需要若干個網絡互連的計算機,這些計算機相互協作完成一個共同的目標。

具體的過程就是:將需要大量計算的項目數據分割成小塊,多臺計算機分別計算,再將運算的結果統一後得到數據結論。

如下圖所示:

負載均衡

負載均衡主要建立在現有的網絡結構基礎之上,通過一種廉價的方法增加網絡設備或者服務器的帶寬,是為了提高數據的吞吐量,提高冗餘度、存在設備或者系統的備份能力,增強網絡的靈活性和可用性。

主要的負載均衡技術有二層負載均衡、三層負載均衡、高層負載均衡。

二層負載均衡

二層負載均衡是指網絡設備通過鏈路聚合的方式實現負載均衡,如下圖所示,多條物理的鏈路聚合成一條邏輯鏈路,根據特定的算法和協議(LCAP協議)在兩條物理鏈路中實現負載均衡,同時具有備份鏈路的功能,一條中斷,並不影響網絡數據的傳輸。

三層負載均衡

三層負載均衡最常用的技術就是VRRP(網關冗餘協議)通過將不同的網關放在不同的三層設備中,實現負載均衡。還有通過RIP協議、OSPF協議實現等價路由協議的負載均衡。

如下圖所示就是一個OPSF協議實現的等價路由協議負載均衡,R1到R2存在6條物理線路,可以模擬成一條邏輯線路,根據特定的算法實現數據包的負載均衡,斷了某一條線路不影響數據的傳輸。

高層負載均衡

高層負載均衡是指三層以上的負載均衡技術,比如通過軟件技術實現的負載均衡、http服務的負載均衡、DNS實現的負載均衡等。

其中DNS負載均衡是通過DNS服務器實現的,將用戶的請求均勻的分不到web服務器上,可以根據地域區分請求。

nginx負載均衡是通過反向代理服務器實現的負載均衡,將請求均勻的分擔到應用服務器上,有5種均衡策略可以選擇。

負載均衡和和分佈式的區別

數據處理方面

  • 負載均衡提高數據的吞吐量

  • 分佈提高數據的併發處理能力

實現機制方面

  • 負載均衡是一種網絡設備或者服務器的冗餘機制,存在備份鏈路

  • 分佈式為了完成同一個計算服務,將任務分擔到各個單元執行,各個單元的進程通過網絡互傳數據。


對於負載均衡和分佈式,大家有什麼看法呢,可以在評論區留言討論。

若需更多幫助,請私信關注。系誒些


網絡通信兵


負載均衡,很明顯,可以分擔流量,而做到流量均衡,可以指技術,用在網絡和服務器上,增加帶寬,分擔壓力,做到流量均衡,也可以指負載均衡設備,有的設備如防火牆也有負載均衡,主要是流量分擔。而分佈式,這個就很難去定義你到底指的是什麼,針對服務器的話,一般是指部署方式,分佈式部署,將一部分的功能或組件放到其他地方,從而實現功能上的分擔。還有集中式部署,等,很明顯,他們有相同點,但是區別還是很大的。


分享到:


相關文章: