叢集、負載均衡、分散式的區別與聯絡
下面就我的理解簡單通俗的介紹下三者的區別:
1.叢集
叢集是個物理概念,是指同一個系統,部署在多臺伺服器上,將很多伺服器集中起來一起進行同一種服務,在客戶端看來就像是隻有一個伺服器。叢集可以利用多個計算機進行平行計算從而獲得很高的計算速度,也可以用多個計算機做備份,從而使得任何一個機器壞了整個系統還是能正常執行。
就比如新浪網,訪問的人多了,他可以做一個叢集,前面放一個響應伺服器,後面幾臺伺服器完成同一種業務。如果有業務訪問的時候,響應伺服器看哪臺伺服器的負載不是很重,就將給哪一臺去完成。 一臺伺服器垮了,其它的伺服器可以頂上來。
2.負載均衡
至於叢集伺服器之間如何分工,需要引入負載均衡的概念了,負載均衡是指將請求分攤到多個操作單元也就是分開部署的伺服器上,nginx是常用的反向代理伺服器,可以用來做負載均衡。叢集與負載均衡之間有緊密聯絡,可以結合理解。
3.分散式
分散式側重將一個系統拆分成多個業務單元,例如一個入口網站裡面可能有登入、視訊、圖片等,每一個都可以拆分出來獨立部署,而且每一個都可以弄成叢集,視訊服務叢集,圖片服務叢集,主系統可以對這些子系統進行呼叫,子系統之間可以有呼叫關係也可以沒有,看實際業務情況。
今天看到個通俗的例子,大家可以借鑑下:
1)負載均衡叢集(LB:load balancing)
負載均衡叢集為企業需求提供了更實用的系統。如名稱所暗示的,該系統使負載可以在計算機叢集中儘可能平均地分攤處理。該負載可能是需要均衡的應用程式處理負載或網路流量負載。這樣的系統非常適合於執行同一組應用程式的大量使用者。每個節點都可以處理一部分負載,並且可以在節點之間動態分配負載,以實現平衡。對於網路流量也是如此。通常,網路伺服器應用程式接受了太多入網流量,以致無法迅速處理,這就需要將流量傳送給在其它節點上執行的網路伺服器應用。還可以根據每個節點上不同的可用資源或網路的特殊環境來進行優化
2)高可用性叢集(HA:High Availability)
高可用性叢集的出現是為了使叢集的整體服務儘可能可用,以便考慮計算硬體和軟體的易錯性。如果高可用性叢集中的主節點發生了故障,那麼這段時間內將由次節點代替它。次節點通常是主節點的映象,所以當它代替主節點時,它可以完全接管其身份,並且因此使系統環境對於使用者是一致的。
在叢集的這三種基本型別之間,經常會發生混合與交雜。於是,可以發現高可用性叢集也可以在其節點之間均衡使用者負載,同時仍試圖維持高可用性程度。同樣,可以從要編入應用程式的叢集中找到一個並行叢集,它可以在節點之間執行負載均衡。儘管叢集系統本身獨立於它在使用的軟體或硬體,但要有效執行系統時,硬體連線將起關鍵作用。
3)高效能叢集(HP:High Performance)
通常,第一種涉及為叢集開發並行程式設計應用程式,以解決複雜的科學問題。這是平行計算的基礎,儘管它不使用專門的並行超級計算機,這種超級計算機內部由十至上萬個獨立處理器組成。但它卻使用商業系統,如通過高速連線來連結的一組單處理器或雙處理器 PC,並且在公共訊息傳遞層上進行通訊以執行並行應用程式。因此,您會常常聽說又有一種便宜的 Linux 超級計算機問世了。但它實際是一個計算機叢集,其處理能力與真的超級計算機相等,通常一套象樣的叢集配置開銷要超過 $100,000。這對一般人來說似乎是太貴了,但與價值上百萬美元的專用超級計算機相比還算是便宜的。
相關文章
- 單機、分散式、叢集的區別與聯絡分散式
- 一文秒懂分散式、叢集、負載均衡之間的區別分散式負載
- 負載均衡叢集負載
- LNMP 分散式叢集(一):Nginx+PHP平臺搭建與負載均衡配置LNMP分散式NginxPHP負載
- 分散式與叢集的區別是什麼?分散式
- kubernetes叢集內排程與負載均衡負載
- 叢集和分散式區別分散式
- dubbo叢集和負載均衡負載
- 架構設計基礎:單服務.叢集.分散式,基本區別和聯絡架構分散式
- 4.10 負載均衡分散式負載分散式
- haproxy(單機)+mysql叢集負載均衡MySql負載
- orleans叢集及負載均衡實現負載
- 四七層負載均衡的區別負載
- 叢集,lvs負載均衡的四種工作模式負載模式
- 負載均衡 - MQTT Broker 叢集詳解(一)負載MQQT
- Haproxy+Keepalived高可用負載均衡叢集負載
- Dubbo學習筆記(四)叢集容錯與負載均衡筆記負載
- 從網路到分散式-負載均衡分散式負載
- 聊聊叢集、分散式和微服務之間的聯絡和異同點分散式微服務
- 分散式架構篇 | OceanBase負載均衡的魅力分散式架構負載
- cookie與session的區別與聯絡CookieSession
- Session與Cookie的區別與聯絡SessionCookie
- JRE與JDK的區別與聯絡JDK
- mariadb叢集與nginx負載均衡配置–centos7版本Nginx負載CentOS
- golang分散式與叢集Golang分散式
- 搞懂分散式技術9:Nginx負載均衡原理與實踐分散式Nginx負載
- Linux環境搭建Nginx+Tomcat負載均衡叢集LinuxNginxTomcat負載
- docker初體驗:docker部署nginx負載均衡叢集DockerNginx負載
- LVS+Keepalive 實現負載均衡高可用叢集負載
- ARM晶片、核心、架構、指令集的聯絡與區別晶片架構
- Java程式設計解密-Dubbo負載均衡與叢集容錯機制Java程式設計解密負載
- 淺談達夢DSC叢集以及負載均衡實現與驗證負載
- 技術分享| Etcd如何實現分散式負載均衡及分散式通知與協調分散式負載
- 使用Redis儲存Nginx+Tomcat負載均衡叢集的SessionRedisNginxTomcat負載Session
- centos7下配置nginx反向代理負載均衡叢集CentOSNginx負載
- 粘性會話負載均衡 - MQTT Broker 叢集詳解(二)會話負載MQQT
- 分散式機器學習、聯邦學習、多智慧體的區別和聯絡分散式機器學習聯邦學習智慧體
- Kafka與ActiveMQ的區別與聯絡詳解KafkaMQ