分布式架構(gòu)是數(shù)據(jù)中心的未來嗎?

2021-01-31    分類: 網(wǎng)站建設(shè)

一、什么是數(shù)據(jù)中心?

什么是數(shù)據(jù)中心?百度百科給出定義是:數(shù)據(jù)中心是全球協(xié)作的特定設(shè)備網(wǎng)絡(luò),用來在因特網(wǎng)絡(luò)基礎(chǔ)設(shè)施上傳遞、加速、展示、計(jì)算、存儲數(shù)據(jù)信息。數(shù)據(jù)中心大部分電子元件都是由低直流電源驅(qū)動運(yùn)行的。

數(shù)據(jù)中心的產(chǎn)生致使人們的認(rèn)識從定量、結(jié)構(gòu)的世界進(jìn)入到不確定和非結(jié)構(gòu)的世界中,它將和交通、網(wǎng)絡(luò)通訊一樣逐漸成為現(xiàn)代社會基礎(chǔ)設(shè)施的一部分,進(jìn)而對很多產(chǎn)業(yè)都產(chǎn)生了積極影響。不過數(shù)據(jù)中心的發(fā)展不能僅憑經(jīng)驗(yàn),還要真正的結(jié)合實(shí)踐,促使數(shù)據(jù)中心發(fā)揮真正的價值作用,促使社會的快速變革。


通過上述對集中式和分布式架構(gòu)在資源處理能力、業(yè)務(wù)支撐能力、安全管理能力、可用性和一致性、運(yùn)維和管理等多個方面的分析可以看出:

集中式架構(gòu)在系統(tǒng)復(fù)雜度、數(shù)據(jù)一致性、安全措施實(shí)施方便性和運(yùn)維管理復(fù)雜度等方面有一定優(yōu)勢。分布式架構(gòu)在資源使用成本和擴(kuò)展能力、業(yè)務(wù)部署的靈活和系統(tǒng)可用性等方面具有明顯優(yōu)勢。而且集中式架構(gòu)的復(fù)雜性可以通過加強(qiáng)管理和設(shè)計(jì)降低復(fù)雜度,安全措施則可以通過增加安全系統(tǒng)和手段加強(qiáng)控制,數(shù)據(jù)一致性則需要通過先進(jìn)的分布式系統(tǒng)與大規(guī)模運(yùn)維平臺來支持,當(dāng)然前提是需要犧牲一定的可用性,這也是分布式架構(gòu)面臨的一個挑戰(zhàn),下文我們會進(jìn)行詳細(xì)論述。

四、分布式架構(gòu)建設(shè)的挑戰(zhàn)

隨著數(shù)據(jù)中心信息系統(tǒng)數(shù)量的增加和處理數(shù)據(jù)量越來越大,分布式架構(gòu)的優(yōu)勢會越來越明顯。但是越是先進(jìn)的架構(gòu)所面臨的挑戰(zhàn)也就越大,由于分布式架構(gòu)采用多節(jié)點(diǎn)設(shè)計(jì),這種架構(gòu)大的難點(diǎn)是會導(dǎo)致數(shù)據(jù)一致性和可用性上的挑戰(zhàn),所有的分布式架構(gòu)設(shè)計(jì)都繞不開這兩個挑戰(zhàn)。

在分布式架構(gòu)中,有一個非常著名的CAP理論(又被稱作布魯爾定理),定義如下:

對于任何一個分布式計(jì)算系統(tǒng),不可能同時滿足以下三點(diǎn):一致性(Consistency)、可用性(Availability)和容忍網(wǎng)絡(luò)分區(qū)(Partitiontolerance)。

一致性通常指數(shù)據(jù)一致性,即要求所有節(jié)點(diǎn)數(shù)據(jù)保持一致??捎眯约匆竺總€節(jié)點(diǎn)在故障時都可以提供服務(wù)。容忍網(wǎng)絡(luò)分區(qū),通常指各個節(jié)點(diǎn)之間的網(wǎng)絡(luò)通信性能。

根據(jù)CAP理論,分布式系統(tǒng)只能滿足其中兩項(xiàng)而不可能滿足全部三項(xiàng)。

CP模型:不考慮A(可用性),多個節(jié)點(diǎn)之間數(shù)據(jù)具備強(qiáng)一致性。如果某個節(jié)點(diǎn)故障,那么就將這個故障節(jié)點(diǎn)丟棄(不考慮A),否則會導(dǎo)致各個節(jié)點(diǎn)之間數(shù)據(jù)同步被無限延長。為了保證數(shù)據(jù)的一致性,大多數(shù)金融行業(yè)的分布式關(guān)系型數(shù)據(jù)庫采用這一模型,

AP模型:不考慮C(一致性),多個節(jié)點(diǎn)之間要求高可用。如果某個節(jié)點(diǎn)故障,并與其他節(jié)點(diǎn)失去聯(lián)系,為了保證節(jié)點(diǎn)的可用性,會放棄全局?jǐn)?shù)據(jù)一致性(不考慮C)。節(jié)點(diǎn)訪問并使用本地節(jié)點(diǎn)數(shù)據(jù),各個節(jié)點(diǎn)數(shù)據(jù)會導(dǎo)致不一致。大多數(shù)非關(guān)系型的數(shù)據(jù)庫采用這一模型,因?yàn)椴恍枰叨鹊臄?shù)據(jù)一致性。

CA模型:不考慮P(容忍網(wǎng)絡(luò)分區(qū)),兩個或多個節(jié)點(diǎn)之間要求必須具備可用性的同時又要求數(shù)據(jù)一致。如果某個節(jié)點(diǎn)故障,為了同時保證可用性和數(shù)據(jù)一致性,那么只能對分布式網(wǎng)絡(luò)進(jìn)行強(qiáng)制分區(qū),劃分成多個不同的分區(qū)來保證C和A,會導(dǎo)致分區(qū)被割裂。

由以上幾個模式可以看出,在分布式計(jì)算環(huán)境下,P是必須要現(xiàn)實(shí)的,否則分布式網(wǎng)絡(luò)節(jié)點(diǎn)通訊就會出現(xiàn)問題,所以只能在C和A之間做出選擇,即選擇CP模型或者AP模型,實(shí)際的選擇需要根據(jù)自身的業(yè)務(wù)場景來根據(jù)各個不同的模型特點(diǎn)進(jìn)行取舍。

對于一些離線的應(yīng)用或者對可用性要求不高的業(yè)務(wù),可以采用CP模型。這一類模型相對簡單,但是應(yīng)用場景也有限。例如日志數(shù)據(jù)分析系統(tǒng),大部分?jǐn)?shù)據(jù)都在本地,我們只需要在分布式架構(gòu)中配置一定的冗余節(jié)點(diǎn)和恢復(fù)機(jī)制即可。如果某個節(jié)點(diǎn)出現(xiàn)故障,分析系統(tǒng)會自動等待其他備用節(jié)點(diǎn)恢復(fù)后再繼續(xù)運(yùn)行,因?yàn)槎虝r間停止不會對系統(tǒng)產(chǎn)生太多影響,但是各個節(jié)點(diǎn)分析的數(shù)據(jù)要求必須保持一致性。

在數(shù)據(jù)中心,核心系統(tǒng)和重要業(yè)務(wù)系統(tǒng)占比較大,如果采用分布式架構(gòu),可能即需要高用性也要求數(shù)據(jù)一致性,這是分布式架構(gòu)設(shè)計(jì)比較大的一個挑戰(zhàn)。

以金融行業(yè)為例,保證業(yè)務(wù)的連續(xù)性和高可用性是非常重要的一個需求,可以采用AP模型進(jìn)行設(shè)計(jì)。但是數(shù)據(jù)一致性也是要盡量保證的,因?yàn)榻鹑谙到y(tǒng)如果數(shù)據(jù)不一致,會產(chǎn)生嚴(yán)重的數(shù)據(jù)問題。關(guān)于數(shù)據(jù)一致性,在分布式架構(gòu)中可以按程度分為強(qiáng)一致性、弱一致性和最終一致性。為了保證金融系統(tǒng)的高可用和業(yè)務(wù)連續(xù)性,數(shù)據(jù)強(qiáng)一致性很難達(dá)到,弱一致性又無法滿足要求,做為取舍,可以實(shí)現(xiàn)數(shù)據(jù)的最終一致性。在分布式系統(tǒng)中,數(shù)據(jù)會被存儲在多個節(jié)點(diǎn),各個節(jié)點(diǎn)的數(shù)據(jù)被應(yīng)用修改后,最終一致性不要求各個節(jié)點(diǎn)同時更新數(shù)據(jù),只要求盡快將各個節(jié)點(diǎn)更新后的數(shù)據(jù)分布到整個系統(tǒng)中,這樣在保證系統(tǒng)可用性的同時會實(shí)現(xiàn)數(shù)據(jù)的最終一致性,保證金融行業(yè)對數(shù)據(jù)要求。當(dāng)然,并不是所有的金融業(yè)務(wù)都可以采用最終一致性的方案,例如核心實(shí)時交易系統(tǒng),必要要求實(shí)時處理數(shù)據(jù)并保持強(qiáng)一致性,這也是目前大多數(shù)金融機(jī)構(gòu)核心交易系統(tǒng)還在使用集中式架構(gòu)的原因。

分布式云數(shù)據(jù)中心在建設(shè)過程中同樣也面臨一些挑戰(zhàn),主要包括網(wǎng)絡(luò)、存儲和計(jì)算三個方面:

在網(wǎng)絡(luò)方面,多個分布式云數(shù)據(jù)中心之間的通信是個問題。需要考慮多個不同區(qū)域的網(wǎng)絡(luò)訪問接入、負(fù)載均衡問題。還要滿足分散在多個云數(shù)據(jù)中心之間的業(yè)務(wù)通信和切換的需要。目前主流的技術(shù)方案是以大二層網(wǎng)絡(luò)技術(shù)為主,打通多個數(shù)據(jù)之間的網(wǎng)絡(luò),形成一個統(tǒng)一的邏輯網(wǎng)絡(luò)。但是目前各個網(wǎng)絡(luò)設(shè)備廠商之間的大二層網(wǎng)絡(luò)和協(xié)議不統(tǒng)一,設(shè)備兼容性有一定的問題,這也是分布式云數(shù)據(jù)中心改造所需要解決的一個問題。

在存儲方面,數(shù)據(jù)實(shí)時同步,實(shí)現(xiàn)統(tǒng)一的存儲資源共享并建立高可靠性的數(shù)據(jù)保護(hù)機(jī)制,是一個比較嚴(yán)峻的挑戰(zhàn)。多個數(shù)據(jù)中心可能分散在不同地域,各個數(shù)據(jù)中心之間的網(wǎng)絡(luò)帶寬有限,可能無法做到數(shù)據(jù)實(shí)時同步,只能采用異步傳輸。那么數(shù)據(jù)一致性和完整性可能就等不到保證。上文提到的應(yīng)用解耦+微服務(wù)架構(gòu)可以解決一部分問題。但是對于傳統(tǒng)的無法進(jìn)行微服務(wù)改造的應(yīng)用仍然是個難題。在數(shù)據(jù)一致性和可用性上可能需要一些取舍。

在計(jì)算方面,目前技術(shù)相對成熟。將資源云化以后,利用云計(jì)算技術(shù)可以實(shí)現(xiàn)對計(jì)算資源在多個云數(shù)據(jù)中心的統(tǒng)一調(diào)度和管理。還可以設(shè)定權(quán)限,進(jìn)行精細(xì)化管理。在計(jì)算方面的一些挑戰(zhàn),通常指對計(jì)算資源的管理。例如在某一個應(yīng)用出現(xiàn)故障時,是將這個資源在本地進(jìn)行重建還是在其他云數(shù)據(jù)中心進(jìn)行遷移和重啟,因?yàn)檫@會影響到各個節(jié)點(diǎn)的其他業(yè)務(wù)訪問,需要提前進(jìn)行統(tǒng)一的規(guī)劃和安排。

五、結(jié)束語

相對于傳統(tǒng)數(shù)據(jù)中心,構(gòu)建分布式架構(gòu)的云數(shù)據(jù)中心是非常有必要的,它影響著數(shù)據(jù)中心建設(shè)的方方面面。在未來,沒有分布式架構(gòu)的數(shù)據(jù)中心一定不會是一個優(yōu)秀的數(shù)據(jù)中心。通過云計(jì)算技術(shù)的不斷發(fā)展與實(shí)踐,我相信分布式架構(gòu)一定會成為數(shù)據(jù)中心的未來發(fā)展方向。即使未來數(shù)據(jù)中心的架構(gòu)不是完全分布式的,但是分布式架構(gòu)也絕對不會缺席,一定會有分布式架構(gòu)的一席之地。

本文名稱:分布式架構(gòu)是數(shù)據(jù)中心的未來嗎?
本文路徑:http://www.bm7419.com/news18/98318.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、App設(shè)計(jì)、ChatGPT面包屑導(dǎo)航、服務(wù)器托管、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)