二維碼
        企資網(wǎng)

        掃一掃關(guān)注

        當(dāng)前位置: 首頁(yè) » 企資快訊 » 匯總 » 正文

        中心化和去中心化,集群和分布式之間的區(qū)別和聯(lián)系

        放大字體  縮小字體 發(fā)布日期:2021-09-04 04:26:26    作者:史舒文    瀏覽次數(shù):30
        導(dǎo)讀

        今天談下幾個(gè)關(guān)鍵概念的區(qū)別。這幾個(gè)是當(dāng)前在構(gòu)建滿足海量大并發(fā)下的高可用架構(gòu)下都經(jīng)常會(huì)遇到的一些關(guān)鍵概念。集群和分布式區(qū)別和聯(lián)系首先談下集群和分布式,這兩個(gè)概念是最容易混淆的。先看下網(wǎng)上關(guān)于這兩個(gè)概念的

        今天談下幾個(gè)關(guān)鍵概念的區(qū)別。這幾個(gè)是當(dāng)前在構(gòu)建滿足海量大并發(fā)下的高可用架構(gòu)下都經(jīng)常會(huì)遇到的一些關(guān)鍵概念。

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

        首先談下集群和分布式,這兩個(gè)概念是最容易混淆的。先看下網(wǎng)上關(guān)于這兩個(gè)概念的一個(gè)基礎(chǔ)解釋如下:

        對(duì)于集群是當(dāng)單節(jié)點(diǎn)性能不足的時(shí)候,將多個(gè)節(jié)點(diǎn)組合起來(lái)共同滿足外部的業(yè)務(wù)需求。而對(duì)于分布式則是將單個(gè)節(jié)點(diǎn)性能不做的時(shí)候,將業(yè)務(wù)需求分解為多個(gè)子業(yè)務(wù),然后將各個(gè)子業(yè)務(wù)分別部署到不同的節(jié)點(diǎn)。

        集群一般還會(huì)強(qiáng)調(diào)在多臺(tái)服務(wù)器位置集中,并且容易統(tǒng)一管理;而分布式?jīng)]有具體要求,不論放置在哪個(gè)位置,只要通過(guò)網(wǎng)絡(luò)連接起來(lái)就行。

        在看知乎上有一個(gè)形象的比喻如下:

        小飯店原來(lái)只有一個(gè)廚師,切菜洗菜備料炒菜全干。后來(lái)客人多了,廚房一個(gè)廚師忙不過(guò)來(lái),又請(qǐng)了個(gè)廚師,兩個(gè)廚師都能炒一樣的菜,這兩個(gè)廚師的關(guān)系是集群。為了讓廚師專心炒菜,把菜做到極致,又請(qǐng)了個(gè)配菜師負(fù)責(zé)切菜,備菜,備料,廚師和配菜師的關(guān)系是分布式,一個(gè)配菜師也忙不過(guò)來(lái)了,又請(qǐng)了個(gè)配菜師,兩個(gè)配菜師關(guān)系是集群。

        而實(shí)際你會(huì)看到當(dāng)前在業(yè)務(wù)需求的滿足中往往同時(shí)存在兩種方式,既既需要考慮業(yè)務(wù)需求本身的分解,同時(shí)又需要考慮分解完的子業(yè)務(wù)也要提供多個(gè)節(jié)點(diǎn)組合成集群來(lái)提供能力。因此你會(huì)看到另外一個(gè)說(shuō)法,即分布式集群的概念。

        分布式集群既體現(xiàn)了業(yè)務(wù)需求額拆分,又體現(xiàn)了單個(gè)子業(yè)務(wù)滿足時(shí)候多節(jié)點(diǎn)組合。

        不論是HA還是Cluster都可以理解為集群,但是對(duì)于HA架構(gòu)往往存在兩種場(chǎng)景,一種就是兩個(gè)節(jié)點(diǎn)是雙活同時(shí)提供能力,還是主備模式一個(gè)節(jié)點(diǎn)僅僅是備用不提供能力。如果都提供能力那么HA也是一種最簡(jiǎn)單的集群。

        集群本身有一個(gè)關(guān)鍵能力,即多節(jié)點(diǎn)冗余后增加了可靠性,不會(huì)因?yàn)閱蝹€(gè)節(jié)點(diǎn)故障導(dǎo)致整個(gè)系統(tǒng)無(wú)法使用。在分布式架構(gòu)下,當(dāng)節(jié)點(diǎn)分布式后,對(duì)于子業(yè)務(wù)滿足的節(jié)點(diǎn)仍然需要考慮HA或集群架構(gòu)來(lái)確保高可用性。

        而對(duì)于分布式,除了通過(guò)大任務(wù)拆分來(lái)解決性能問(wèn)題外,另外一個(gè)關(guān)鍵好處就是各個(gè)子業(yè)務(wù)服務(wù)滿足上實(shí)現(xiàn)了解耦和高度自治,即不會(huì)因?yàn)樽訕I(yè)務(wù)A的故障導(dǎo)致子業(yè)務(wù)B也受到影響,提供兩個(gè)子業(yè)務(wù)的資源本身實(shí)現(xiàn)了進(jìn)一步的拆分和隔離。

        數(shù)據(jù)持久化和存儲(chǔ)

        對(duì)于集群架構(gòu)一般都會(huì)采用集中化存儲(chǔ)來(lái)解決數(shù)據(jù)持久化問(wèn)題,同時(shí)集中化存儲(chǔ)也方便進(jìn)行相關(guān)的事務(wù)管理,確保數(shù)據(jù)一致性。

        在分布式架構(gòu)中,特別是在類似數(shù)據(jù)庫(kù),緩存等分布式架構(gòu)中,數(shù)據(jù)的持久化存儲(chǔ)本身也是分布式的。與此同時(shí)實(shí)現(xiàn)了計(jì)算能力和存儲(chǔ)能力的分布式。每個(gè)分布式的單元既包括計(jì)算能力也包括本地的存儲(chǔ)能力。

        因此在數(shù)據(jù)或持久化存儲(chǔ)分布式后,帶來(lái)關(guān)鍵的分布式事務(wù)問(wèn)題需要解決。同時(shí)帶來(lái)大家熟知的CAP定理,如何在確保高可用性和高一致性兩者之間進(jìn)行權(quán)衡。

        所以簡(jiǎn)單來(lái)說(shuō)從應(yīng)用架構(gòu)實(shí)現(xiàn)的復(fù)雜度,后期的運(yùn)維治理復(fù)雜度來(lái)說(shuō),集群都是相當(dāng)更加兼容和容易實(shí)現(xiàn)的方案。能夠集群解決的盡量集群解決,不要一味地去追求分布式。

        集群和負(fù)載均衡

        對(duì)于集群和負(fù)載均衡也是會(huì)經(jīng)常混用的概念。負(fù)載均衡簡(jiǎn)單來(lái)說(shuō)僅僅是實(shí)現(xiàn)請(qǐng)求的路由分發(fā)功能,對(duì)于集群來(lái)說(shuō)會(huì)暴露一個(gè)對(duì)外集群地址,自然具備負(fù)載均衡能力。當(dāng)前談的負(fù)載均衡既可以是類似Haproxy或Nginix實(shí)現(xiàn)的軟負(fù)載均衡,也可以是類似F5,Array等設(shè)備實(shí)現(xiàn)的硬件負(fù)載均衡。

        集群具備負(fù)載均衡能力,但是負(fù)載均衡一般不具備集群的所有能力。

        集群除了負(fù)載均衡還必須具備對(duì)集群內(nèi)所有的節(jié)點(diǎn)的管理能力,狀態(tài)監(jiān)控,狀態(tài)節(jié)點(diǎn)的一致性維護(hù)等能力。類似程序部署,心跳狀態(tài)檢查,配置信息分發(fā),分布式事務(wù)協(xié)調(diào)等都屬于集群管理節(jié)點(diǎn)需要具備的能力。當(dāng)前可以看到類似etcd,zookeeper等都是常用的分布式集群的實(shí)現(xiàn)技術(shù)。

        中心化和去中心化

        首先還是要解釋下中心化和去中心化的概念。

        還是接著前面的業(yè)務(wù)需求A和IT系統(tǒng)服務(wù)能力提供這個(gè)場(chǎng)景,集群和分布式都是在考慮能力提供B如何去滿足A的問(wèn)題。

        那么現(xiàn)在還有業(yè)務(wù)需求B,業(yè)務(wù)需求C等其它需求。業(yè)務(wù)需求A,B,C之間是需要相互打交道和協(xié)同的。這個(gè)時(shí)候協(xié)同就存在兩個(gè)方式。

      1. 其一是ABC三者的協(xié)同都需要通過(guò)能力提供這個(gè)中轉(zhuǎn)
      2. 其二是ABC之間點(diǎn)對(duì)點(diǎn)協(xié)同

        對(duì)于場(chǎng)景一即是中心化架構(gòu),場(chǎng)景二即是去中心化架構(gòu)。因此對(duì)于一個(gè)架構(gòu)是中心化和去中心化是針對(duì)ABC之間的協(xié)同來(lái)說(shuō)。而不是針對(duì)業(yè)務(wù)需求和能力提供之間來(lái)說(shuō)的。

        典型的例子如微服務(wù)里面的服務(wù)注冊(cè)中心。

        一般會(huì)說(shuō)是一個(gè)去中心化的架構(gòu),也就是微服務(wù)A和微服務(wù)B之間的調(diào)用,這個(gè)消息流不需要通過(guò)服務(wù)注冊(cè)中心,而是A和B之間直接完成的,那么在這種情況下即使服務(wù)注冊(cè)中心宕機(jī)也對(duì)接口調(diào)用和訪問(wèn)沒(méi)有影響。

        而對(duì)于傳統(tǒng)ESB這種代理模式即典型的中心化架構(gòu),所有的請(qǐng)求流都需要通過(guò)ESB總線管道,那么當(dāng)ESB總線出現(xiàn)宕機(jī)的時(shí)候所有請(qǐng)求都無(wú)法訪問(wèn)。

        那么去中心化架構(gòu)是否徹底去中心化?

        在去中心化架構(gòu)中,對(duì)于注冊(cè)中心來(lái)說(shuō)仍然是一個(gè)分布式集群,因?yàn)榉?wù)注冊(cè)和發(fā)現(xiàn)實(shí)現(xiàn)仍然需要有一個(gè)統(tǒng)一的管控點(diǎn),這個(gè)管控能力還是需要在注冊(cè)中心這個(gè)分布式集群實(shí)現(xiàn)。只是去中心化架構(gòu)中進(jìn)一步將控制流和數(shù)據(jù)流分離。

        對(duì)于控制流量能力仍然在注冊(cè)中心,采用傳統(tǒng)分布式或集群方式來(lái)實(shí)現(xiàn)。而對(duì)于數(shù)據(jù)流則是點(diǎn)對(duì)點(diǎn)訪問(wèn),徹底的去中心化,不需要再通過(guò)中心化節(jié)點(diǎn)中轉(zhuǎn)和代理。

        在去中心化架構(gòu)下有兩個(gè)關(guān)鍵好處。

        其一是所有的數(shù)據(jù)流都不通過(guò)中心節(jié)點(diǎn)中轉(zhuǎn),那么自然訪問(wèn)性能更好。其二就是不會(huì)因?yàn)橹行墓?jié)點(diǎn)的服務(wù)器故障導(dǎo)致ABC之間相互無(wú)法訪問(wèn)。

        但是去中心化架構(gòu)本身也帶來(lái)問(wèn)題,即ABC之間由于是直接訪問(wèn),那么相當(dāng)來(lái)說(shuō)都是可見(jiàn)可訪問(wèn)的,對(duì)于傳統(tǒng)ESB里面最重要的一個(gè)服務(wù)代理和位置透明特點(diǎn)沒(méi)有了。其次就是由于點(diǎn)對(duì)點(diǎn)訪問(wèn)導(dǎo)致了數(shù)據(jù)流不通過(guò)中心節(jié)點(diǎn),那么很多類似安全,日志,流控等原來(lái)通過(guò)消息流攔截很容易實(shí)現(xiàn)的內(nèi)容現(xiàn)在不容易實(shí)現(xiàn)。

        而在去中心化架構(gòu)演進(jìn)過(guò)程中。出現(xiàn)了一個(gè)新變化即ServiceMesh服務(wù)網(wǎng)格思路,將相關(guān)管控能力以邊車Sidecar或Agent代理組件的方式進(jìn)一步下沉和部署到各個(gè)微服務(wù)模塊中。這樣就能將管控類問(wèn)題得到很好的解決。

        但是代理類和位置透明仍然無(wú)法解決,而這個(gè)能力可以轉(zhuǎn)移到類似Nginix組件來(lái)實(shí)現(xiàn)。

        兩隊(duì)概念之間的關(guān)系和聯(lián)系

        去中心化架構(gòu)針對(duì)的是ABC業(yè)務(wù)需求之間的訪問(wèn)實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn),體現(xiàn)的是控制流和數(shù)據(jù)流分離,但是控制流仍然需要通過(guò)服務(wù)組件來(lái)提供,這個(gè)服務(wù)組件的部署仍然需要采用集群模式并結(jié)合分布式來(lái)實(shí)現(xiàn)高可用。

        對(duì)于各種滿足集成需求的中間件往往會(huì)出現(xiàn)中心化還是去中心化架構(gòu)的概念,但是對(duì)于應(yīng)用系統(tǒng)本身滿足業(yè)務(wù)需求這個(gè)場(chǎng)景,一般不會(huì)出現(xiàn)是不是中心化架構(gòu)這個(gè)概念。應(yīng)用系統(tǒng)對(duì)需求的滿足只會(huì)出現(xiàn)集群和分布式兩個(gè)方式,這里的分布式和是否去中心化沒(méi)有關(guān)系。

        分布式和集群兩者一般會(huì)組合使用,分布式實(shí)現(xiàn)功能需求解耦優(yōu)點(diǎn),而集群實(shí)現(xiàn)高可靠性和冗余的優(yōu)點(diǎn),而對(duì)于大并發(fā)性能的滿足兩種方式都具備具備改能力。

        中心化架構(gòu)的優(yōu)勢(shì)是在管控治理上面,通過(guò)中心化架構(gòu)可以通過(guò)攔截方式實(shí)現(xiàn)各種管控治理能力,但是帶來(lái)的問(wèn)題就是引入一個(gè)新的中介點(diǎn),講解了整個(gè)應(yīng)用的高可靠性。去中心化架構(gòu)本身提高了高可靠性,但是犧牲了一定的管控治理能力。

      3.  
        (文/史舒文)
        免責(zé)聲明
        本文僅代表作發(fā)布者:史舒文個(gè)人觀點(diǎn),本站未對(duì)其內(nèi)容進(jìn)行核實(shí),請(qǐng)讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問(wèn)題,請(qǐng)及時(shí)聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
         

        Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號(hào)

        粵ICP備16078936號(hào)

        微信

        關(guān)注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯(lián)系
        客服

        聯(lián)系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號(hào): weishitui

        客服001 客服002 客服003

        工作時(shí)間:

        周一至周五: 09:00 - 18:00

        反饋

        用戶
        反饋

        主站蜘蛛池模板: 色婷婷AV一区二区三区浪潮| 国产午夜福利精品一区二区三区| 一区二区三区免费在线视频| 久久国产免费一区二区三区 | 中文字幕一区二区人妻性色| 精品无码综合一区二区三区| 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 | 精品一区二区三区无码免费直播| 日韩精品乱码AV一区二区| 一区五十路在线中出| 制服美女视频一区| 精品日韩一区二区| 国产一区在线mmai| 国产短视频精品一区二区三区| 午夜精品一区二区三区免费视频| 麻豆精品一区二区综合av| 在线观看精品一区| 国产精品视频免费一区二区三区| 91在线一区二区| 精品一区二区三区四区在线播放 | 爱爱帝国亚洲一区二区三区| 国产吧一区在线视频| 日韩精品无码一区二区中文字幕| 久久精品一区二区三区资源网| 国产自产在线视频一区| 日韩精品人妻av一区二区三区| 在线观看午夜亚洲一区| 国产成人无码AV一区二区| 国产福利在线观看一区二区| 久久精品综合一区二区三区| 亚洲高清日韩精品第一区| 无码精品人妻一区二区三区人妻斩| 国产精品一区二区久久不卡| 国产激情无码一区二区| 无码精品人妻一区二区三区漫画| 麻豆天美国产一区在线播放 | 久久亚洲一区二区| 久久精品一区二区三区AV| 亚洲乱码一区二区三区国产精品 | 制服丝袜一区二区三区| 日韩在线不卡免费视频一区|