理解分布式與集群

概念

? ? ? ? 分布式是并聯(lián)工作,集群是串聯(lián)工作。即分布式是通過(guò)降低單個(gè)任務(wù)執(zhí)行時(shí)間來(lái)調(diào)高系統(tǒng)的效率,而集群是通過(guò)提高單位時(shí)間執(zhí)行的任務(wù)數(shù)量來(lái)提升系統(tǒng)效率。

e.g.: 如果一個(gè)任務(wù)由五個(gè)子任務(wù)組成,每個(gè)子任務(wù)需要消耗一分鐘,那么此任務(wù)完成時(shí)間則需要五分鐘。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 分布式方案:將五個(gè)子任務(wù)分別部署在五個(gè)獨(dú)立服務(wù)器中,不考慮任務(wù)之間的依賴(lài)關(guān)系,那么執(zhí)行完這個(gè)任務(wù)總共消耗時(shí)長(zhǎng)則為一分鐘。(這種工作模式的一個(gè)典型代表就是Hadoop的Map/Reduce分布式計(jì)算模型)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 集群方案:同樣提供五臺(tái)服務(wù)器,每臺(tái)服務(wù)器單獨(dú)處理一個(gè)任務(wù),假設(shè)五個(gè)子任務(wù)同時(shí)到達(dá),五個(gè)服務(wù)器同時(shí)運(yùn)行。則執(zhí)行整個(gè)任務(wù)時(shí)長(zhǎng)則也為一分鐘。

分布式(集群)與集群的聯(lián)系與區(qū)別

? ? ?分布式是指將不同的業(yè)務(wù)分布在不同的地方。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?集群指的是將幾臺(tái)服務(wù)器集中在一起,實(shí)現(xiàn)同一業(yè)務(wù)。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?分布式中的每一個(gè)節(jié)點(diǎn),都可以做集群 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 而集群并不一定就是分布式的。

? ? 舉例:就比如新浪網(wǎng),訪問(wèn)的人多了,他可以做一個(gè)群集,前面放一個(gè)響應(yīng)服務(wù)器,后面幾臺(tái)服務(wù)器完成同一業(yè)務(wù),如果有業(yè)務(wù)訪問(wèn)的時(shí)候,響應(yīng)服務(wù)器看哪臺(tái)服務(wù)器的負(fù)載不是很重,就將給哪一臺(tái)去完成。

? ? 而分布式,從窄意上理解,也跟集群差不多, 但是它的組織比較松散,不像集群,有一個(gè)組織性,一臺(tái)服務(wù)器垮了,其它的服務(wù)器可以頂上來(lái)。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 分布式的每一個(gè)節(jié)點(diǎn),都完成不同的業(yè)務(wù),一個(gè)節(jié)點(diǎn)垮了,哪這個(gè)業(yè)務(wù)就不可訪問(wèn)了

集群兩大特性

? ? ? ?集群是一組協(xié)同工作的服務(wù)實(shí)體,用以提供比單一服務(wù)實(shí)體更具擴(kuò)展性與可用性的服務(wù)平臺(tái)。在客戶(hù)端看來(lái),一個(gè)集群就象是一個(gè)服務(wù)實(shí)體,但事實(shí)上集群由一組服務(wù)實(shí)體組成。與單一服務(wù)實(shí)體相比較,集群提供了以下兩個(gè)關(guān)鍵特性:

? ? ? · 可擴(kuò)展性--集群的性能不限于單一的服務(wù)實(shí)體,新的服務(wù)實(shí)體可以動(dòng)態(tài)地加入到集群,從而增強(qiáng)集群的性能。

? ? ? · 高可用性--集群通過(guò)服務(wù)實(shí)體冗余使客戶(hù)端免于輕易遇到out of service的警告。在集群中,同樣的服務(wù)可以由多個(gè)服務(wù)實(shí)體提供。如果一個(gè)服務(wù)實(shí)體失敗了,另一個(gè)服務(wù)實(shí)體會(huì)接管失敗的服務(wù)實(shí)體。集群提供的從一個(gè)出 錯(cuò)的服務(wù)實(shí)體恢復(fù)到另一個(gè)服務(wù)實(shí)體的功能增強(qiáng)了應(yīng)用的可用性。

集群兩大能力

? ? ? 為了具有可擴(kuò)展性和高可用性特點(diǎn),集群的必須具備以下兩大能力:

? ? ? · 負(fù)載均衡--負(fù)載均衡能把任務(wù)比較均衡地分布到集群環(huán)境下的計(jì)算和網(wǎng)絡(luò)資源。

? ? ? · 錯(cuò)誤恢復(fù)--由于某種原因,執(zhí)行某個(gè)任務(wù)的資源出現(xiàn)故障,另一服務(wù)實(shí)體中執(zhí)行同一任務(wù)的資源接著完成任務(wù)。這種由于一個(gè)實(shí)體中的資源不能工作,另一個(gè)實(shí)體中的資源透明的繼續(xù)完成任務(wù)的過(guò)程叫錯(cuò)誤恢復(fù)。

? ? ? ?負(fù)載均衡和錯(cuò)誤恢復(fù)都要求各服務(wù)實(shí)體中有執(zhí)行同一任務(wù)的資源存在,而且對(duì)于同一任務(wù)的各個(gè)資源來(lái)說(shuō),執(zhí)行任務(wù)所需的信息視圖(信息上下文)必須是一樣的。

集群兩大技術(shù)

? ? ? ? 實(shí)現(xiàn)集群務(wù)必要有以下兩大技術(shù):

? ? ? ? · 集群地址--集群由多個(gè)服務(wù)實(shí)體組成,集群客戶(hù)端通過(guò)訪問(wèn)集群的集群地址獲取集群內(nèi)部各服務(wù)實(shí)體的功能。具有單一集群地址(也叫單一影像)是集群的一個(gè)基 本特征。維護(hù)集群地址的設(shè)置被稱(chēng)為負(fù)載均衡器。負(fù)載均衡器內(nèi)部負(fù)責(zé)管理各個(gè)服務(wù)實(shí)體的加入和退出,外部負(fù)責(zé)集群地址向內(nèi)部服務(wù)實(shí)體地址的轉(zhuǎn)換。有的負(fù)載均 衡器實(shí)現(xiàn)真正的負(fù)載均衡算法,有的只支持任務(wù)的轉(zhuǎn)換。只實(shí)現(xiàn)任務(wù)轉(zhuǎn)換的負(fù)載均衡器適用于支持ACTIVE-STANDBY的集群環(huán)境,在那里,集群中只有 一個(gè)服務(wù)實(shí)體工作,當(dāng)正在工作的服務(wù)實(shí)體發(fā)生故障時(shí),負(fù)載均衡器把后來(lái)的任務(wù)轉(zhuǎn)向另外一個(gè)服務(wù)實(shí)體。

? ? ? ? ?· 內(nèi)部通信--為了能協(xié)同工作、實(shí)現(xiàn)負(fù)載均衡和錯(cuò)誤恢復(fù),集群各實(shí)體間必須時(shí)常通信,比如負(fù)載均衡器對(duì)服務(wù)實(shí)體心跳測(cè)試信息、服務(wù)實(shí)體間任務(wù)執(zhí)行上下文信息的通信。

? ? ? ? 具有同一個(gè)集群地址使得客戶(hù)端能訪問(wèn)集群提供的計(jì)算服務(wù),一個(gè)集群地址下隱藏了各個(gè)服務(wù)實(shí)體的內(nèi)部地址,使得客戶(hù)要求的計(jì)算服務(wù)能在各個(gè)服務(wù)實(shí)體之間分布。內(nèi)部通信是集群能正常運(yùn)轉(zhuǎn)的基礎(chǔ),它使得集群具有均衡負(fù)載和錯(cuò)誤恢復(fù)的能力。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 分布式就是將一個(gè)任務(wù)分為多個(gè)子任務(wù),分別交給多個(gè)服務(wù)器實(shí)體來(lái)完成,每個(gè)服務(wù)器實(shí)體完成相對(duì)應(yīng)的子任務(wù)。分布式是以縮短...
    Mango_yes閱讀 634評(píng)論 0 9
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,697評(píng)論 19 139
  • 作者:@lxchinesszz本文為作者原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處 小編最近在做微服務(wù)架構(gòu)的工程,工程是由之前公司的人搭...
    Chinesszz閱讀 212評(píng)論 0 2
  • 開(kāi)放源代碼已經(jīng)成為一些大型網(wǎng)站的基本原則。而在這些網(wǎng)站成長(zhǎng)的過(guò)程中,一些優(yōu)秀的實(shí)踐經(jīng)驗(yàn)和規(guī)則也出現(xiàn)在他們的結(jié)構(gòu)中。...
    零一間閱讀 1,108評(píng)論 0 4
  • Linux服務(wù)器集群系統(tǒng)各概念辨析 計(jì)算機(jī)集群 WEB的負(fù)載均衡、集群、高可用解決方案 計(jì)算機(jī)集群 計(jì)算機(jī)集群簡(jiǎn)稱(chēng)...
    Zhang21閱讀 3,437評(píng)論 0 18

友情鏈接更多精彩內(nèi)容