一、什么是數(shù)據(jù)中心?
什么是數(shù)據(jù)中心?百度百科給出定義是:數(shù)據(jù)中心是全球協(xié)作的特定設備網(wǎng)絡,用來在因特網(wǎng)絡基礎(chǔ)設施上傳遞、加速、展示、計算、存儲數(shù)據(jù)信息。數(shù)據(jù)中心大部分電子元件都是由低直流電源驅(qū)動運行的。
數(shù)據(jù)中心的產(chǎn)生致使人們的認識從定量、結(jié)構(gòu)的世界進入到不確定和非結(jié)構(gòu)的世界中,它將和交通、網(wǎng)絡通訊一樣逐漸成為現(xiàn)代社會基礎(chǔ)設施的一部分,進而對很多產(chǎn)業(yè)都產(chǎn)生了積極影響。不過數(shù)據(jù)中心的發(fā)展不能僅憑經(jīng)驗,還要真正的結(jié)合實踐,促使數(shù)據(jù)中心發(fā)揮真正的價值作用,促使社會的快速變革。
二、為什么需要分布式數(shù)據(jù)中心?
說到發(fā)展,數(shù)據(jù)中心正隨著各個行業(yè)的蓬勃發(fā)展而不斷高速的建設著。云計算、大數(shù)據(jù)和物聯(lián)網(wǎng)等新技術(shù)的大規(guī)模使用,讓數(shù)據(jù)中心成為了醫(yī)療、政府、互聯(lián)網(wǎng)和金融等行業(yè)建設的重點。特別是在銀行 、保險等領(lǐng)域,數(shù)據(jù)中心由于承載核心業(yè)務,不允許任何數(shù)據(jù)中斷、要求能夠快速響應業(yè)務變化和具備一定的靈活性,已經(jīng)成為了名副其實的“生產(chǎn)中心”。反觀數(shù)據(jù)中心,傳統(tǒng)的集中式架構(gòu)已經(jīng)無法滿足新時代業(yè)務的需求。而基于分布式架構(gòu)的數(shù)據(jù)中心是一個和集中式架構(gòu)相對應的技術(shù)體系,包括了分布式業(yè)務部署、分布式計算、存儲、網(wǎng)絡安全等多種分布式技術(shù)的集合。在傳統(tǒng)數(shù)據(jù)中心無法保證業(yè)務響應能力、連續(xù)性和靈活性,發(fā)展達到一定瓶頸的時候,分布式架構(gòu)就自然成為了一種必然的選擇。
在早期的數(shù)據(jù)中心建設中,大多數(shù)IT建設者們并不太關(guān)注采用何種技術(shù)架構(gòu),覺得沒有那么重要。數(shù)據(jù)中心的建設重點就是讓承載的業(yè)務系統(tǒng)穩(wěn)定運行,為服務器、存儲和網(wǎng)絡設備提供一個良好的運行環(huán)境,讓業(yè)務系統(tǒng)沒那么容易“宕機”即可。所以早期大部分數(shù)據(jù)中心都是煙囪式的架構(gòu)設計,每個業(yè)務系統(tǒng)都會配置一套獨立硬件設備,數(shù)據(jù)完全是割裂的,導致設備利用率非常低,資源完全無法共享。典型的“標配”方案為兩臺高端小型機(或X86服務器)做數(shù)據(jù)庫服務器雙機,然后再加兩臺或以上應用服務器,后端連接兩臺FC交換機(或IPSAN交換機)和一臺存儲設備。直到現(xiàn)在,仍然可以看到許多招標文件中有類似的配置方案。當然,并不能說明這種配置方案不好或者不對,只能說在沒有很好規(guī)劃和合理利用的情況下,這樣的配置會導致數(shù)據(jù)中心空間、能耗、制冷大規(guī)模增加,而且設備數(shù)量的隨意增加還會嚴重影響運維和管理的效率。
為了應對信息化的快速發(fā)展,提高設備利用率和靈活性,云計算技術(shù)被大規(guī)模推廣和采用。云計算可以提供可用的、便捷的、按需的資源提供,逐漸成為了主流的數(shù)據(jù)中心架構(gòu),目前大多數(shù)行業(yè)的數(shù)據(jù)中心都已經(jīng)具備了云計算的能力。除了大規(guī)模數(shù)據(jù)庫等少數(shù)業(yè)務場景以外,新業(yè)務應用基本都是使用云模式進行構(gòu)建,同時還有大量現(xiàn)有的業(yè)務應用正不斷向云計算環(huán)境進行遷移。將應用系統(tǒng)運行在虛擬化環(huán)境中似乎已經(jīng)成為了一種常態(tài)。在云計算環(huán)境中,服務器虛擬化是基本的云計算技術(shù)之一。虛擬化軟件廠商正在逐步將基于物理資源的數(shù)據(jù)中心向虛擬化資源的數(shù)據(jù)中心進行轉(zhuǎn)變,有效的控制了數(shù)據(jù)中心內(nèi)服務器數(shù)量和規(guī)模的增長,提高了服務器的利用效率。同時,虛擬化系統(tǒng)所具備的特性極大的提高了數(shù)據(jù)中心系統(tǒng)的可靠性。特別在主動運維、災備建設和故障切換等方面對數(shù)據(jù)中心的業(yè)務連續(xù)性是一種質(zhì)的飛躍。在這一階段,虛擬化技術(shù)的大規(guī)模應用讓傳統(tǒng)數(shù)據(jù)中心在不改變集中式的架構(gòu)條件下,獲得了最大化的資源整合和共享,但是架構(gòu)仍然沒有太大的變化,更多的是一種服務模式的轉(zhuǎn)變。
基于云計算架構(gòu)的數(shù)據(jù)中心建設已經(jīng)成為主流的建設模式,但是在架構(gòu)上還有很多可以改進的地方。
1、基于云計算架構(gòu)的數(shù)據(jù)中心只能解決單個數(shù)據(jù)中心內(nèi)部的資源共享和使用等問題,無法解決資源的靈活擴展問題,資源的增加仍然是采用垂直架構(gòu)。由于單個計算、存儲或者網(wǎng)絡設備都有性能上限,擴展到一定能力后必然要進行拆分,重新建設資源池,又會形成新的資源孤島,并沒有從根本上解決數(shù)據(jù)中心的發(fā)展問題。
2、隨著各個行業(yè)的信息化發(fā)展,越來越多的企業(yè)需要建設多個不同地域的數(shù)據(jù)中心。比如銀行業(yè)和保險業(yè)會按照銀監(jiān)會和保監(jiān)會的要求建設災備中心,集團企業(yè)會建設分公司分數(shù)據(jù)中心。這些數(shù)據(jù)中心如何進行統(tǒng)一的管理和應用,保證業(yè)務的連續(xù)性,解決業(yè)務協(xié)同問題,是對傳統(tǒng)數(shù)據(jù)中心一個巨大的挑戰(zhàn)。
基于云計算的數(shù)據(jù)中心提供更多的是一種服務。通常情況下,我們提到云計算,指的是一種計算、存儲、軟件等服務的交互和使用模式。而基于分布式架構(gòu)的數(shù)據(jù)中心,更多的是指一種數(shù)據(jù)中心的計算模式,而不是一種服務形式,它是云計算數(shù)據(jù)中心的技術(shù)基礎(chǔ)和擴充。
三、集中和分布式架構(gòu)兩種數(shù)據(jù)中心的區(qū)別
分布式架構(gòu)數(shù)據(jù)中心在技術(shù)層次上,主要包括兩個概念:單個數(shù)據(jù)中心內(nèi)的分布式架構(gòu)和多個數(shù)據(jù)中心的分布式架構(gòu)。
單個數(shù)據(jù)中心內(nèi)的分布式架構(gòu),主要包括分布式計算、存儲、安全網(wǎng)絡等多種分布式技術(shù)的合集。多個數(shù)據(jù)中心的分布式架構(gòu)主要是指將傳統(tǒng)多個數(shù)據(jù)中心統(tǒng)一整合為一個數(shù)據(jù)中心。實現(xiàn)業(yè)務連續(xù)性災備,多中心運營和管理等。例如:將多個不同地區(qū),不同規(guī)模的數(shù)據(jù)中心使用統(tǒng)一的管理平臺進行資源的統(tǒng)一管理,使用統(tǒng)一的運營平臺實現(xiàn)統(tǒng)一運行。
3.1 分布式計算架構(gòu)
按照分布式計算的定義是利用網(wǎng)絡把成千上萬臺計算機連接起來,組成一臺虛擬的超級計算機,完成單臺計算機無法完成的超大規(guī)模的問題求解。
而數(shù)據(jù)中心的分布式計算更多的是指分布式軟件架構(gòu)。是以分布式計算技術(shù)為基礎(chǔ),用于解決大規(guī)模問題的軟件架構(gòu)。分布式軟件架構(gòu)具有較好的伸縮性,特別在處理大數(shù)據(jù)問題時,分布式架構(gòu)能顯著提高處理速度。常見的分布式軟件架構(gòu)有分布式操作系統(tǒng)、文件系統(tǒng)和數(shù)據(jù)庫等等。
以數(shù)據(jù)庫為例,傳統(tǒng)數(shù)據(jù)中心是單個數(shù)據(jù)庫為主,數(shù)據(jù)集中存儲在一臺服務器或存儲上,數(shù)據(jù)的處理也集中在單個或多個集群節(jié)點(一般為2-8個)內(nèi)完成。傳統(tǒng)數(shù)據(jù)中心數(shù)據(jù)庫以Oracle、Db2或者MySql為主,但是當單表數(shù)據(jù)量爆炸或者單個數(shù)據(jù)庫無法承受高強度I/O時,集中式的架構(gòu)是無法解決性能和數(shù)據(jù)處理瓶頸問題的。最早以前淘寶網(wǎng)就是使用的Oracle數(shù)據(jù)庫,而且還組建了全球最大的Oracle數(shù)據(jù)庫群集,可是隨著淘寶網(wǎng)的用戶和商品信息量增加,最后不得不走分布式數(shù)據(jù)庫的路線。分布式架構(gòu)的數(shù)據(jù)庫具有靈活的體系結(jié)構(gòu) ,更適合分布式的管理與控制, 而且可擴展性好,也易于擴充。 當然,分布式數(shù)據(jù)庫也有自身的一些缺點,例如數(shù)據(jù)一致性差,網(wǎng)絡通信開銷較大,數(shù)據(jù)的存取結(jié)構(gòu)比較復雜。但是不可否認,在某些應用場景下,沒有分布式架構(gòu)的數(shù)據(jù)庫,數(shù)據(jù)就很難進行管理和建設。
3.2 分布式存儲架構(gòu)
隨著數(shù)據(jù)中心業(yè)務數(shù)據(jù)的不斷增加,大數(shù)據(jù)的海量數(shù)據(jù)挖掘與日志分析正逐漸成為一個主要應用場景。在面對極具彈性的存儲需求和性能要求下,傳統(tǒng)數(shù)據(jù)中心單機或者獨立的SAN存儲設備基本無法滿足大數(shù)據(jù)處理的需要。如同數(shù)據(jù)庫系統(tǒng)一樣,獨立的存儲設備在性能和數(shù)據(jù)存儲容量等方面都面臨著一定的瓶頸。
傳統(tǒng)數(shù)據(jù)中心通常為集中式存儲架構(gòu),單臺SAN或IPSAN存儲設備通常配置2-8個控制器,通過存儲擴展柜進行容量擴展。如果增加性能,需要增加控制器和緩存,甚至需要更換存儲設備型號為高端存儲。按照集中式的存儲架構(gòu),單臺存儲的性能和擴展能力是有限的,一般達不到線性擴展。隨著存儲容量的增加,存儲的性能會先增加然后達到一定瓶頸后逐漸降低。因為一開始大量的磁盤增加會提升存儲整體讀寫性能,但是當磁盤性能達到控制器的性能后會嚴重影響控制器對數(shù)據(jù)的處理和運行,性能會逐漸下降。
面對海量PB級數(shù)據(jù),如果使用傳統(tǒng)獨立SAN存儲設備,要么擴展能力達不到,要么擴展能力可以達到海量PB級別,但是容量和性能不會線性增長,而且以后存儲擴容和運維成本也非常高。
面對數(shù)據(jù)中心越來越多的大數(shù)據(jù)業(yè)務增長需求,首先要能存得下大量數(shù)據(jù)。傳統(tǒng)的存儲系統(tǒng)容量是有限的,又無法跨越多個存儲設備,即使利用虛擬化技術(shù)做存儲資源整合,那么單位存儲成本也會非常高,而且數(shù)據(jù)處理性能有限。
以Hadoop為例,這是一款比較成熟而且應用比較多的大數(shù)據(jù)處理的分布式開源軟件。其最底部是HDFS分布式存儲。HDFS的設計本質(zhì)就是為了大量的數(shù)據(jù)能夠分布式存儲而存在的。HDFS可以將數(shù)據(jù)存放在很多不同的機器上。而用戶不必關(guān)心具體的數(shù)據(jù)在哪,HDFS會管理這些數(shù)據(jù)。HDFS是一個高度容錯的分布式存儲系統(tǒng)??梢苑植际讲渴?,以流式訪問模式訪問應用程序的數(shù)據(jù),可以大大提高整個系統(tǒng)的數(shù)據(jù)吞吐量,非常合適用于具有超大數(shù)據(jù)集的應用中,而且隨著整個分布式存儲系統(tǒng)的擴展,容量和性能會成正比進行線性增長,非常適合大數(shù)據(jù)類的業(yè)務處理和應用。
基于分布式架構(gòu)的數(shù)據(jù)庫和存儲都是未來數(shù)據(jù)中心必不可少的發(fā)展方向之一,沒有分布式架構(gòu),數(shù)據(jù)中心就沒有能力管理大數(shù)據(jù)。
3.3 分布式安全網(wǎng)絡
基于云計算技術(shù)數(shù)據(jù)中心為應用部署帶來了靈活性和資源彈性配置,提高了硬件資源利用率,縮短了部署時間,但是同時也引入了新的安全問題。
傳統(tǒng)數(shù)據(jù)中心網(wǎng)絡安全是基于安全域、安全邊界的防護機制,是一套縱向安全策略,只關(guān)注業(yè)務流量的訪問控制,將流量安全控制作為唯一的規(guī)劃考慮因素。
而虛擬化技術(shù)的大量使用使得網(wǎng)絡邊界模糊化,主要依賴橫向安全策略,能夠滿足安全流量動態(tài)遷移到其它物理服務器。傳統(tǒng)基于已經(jīng)難以滿足虛擬化環(huán)境下的應用模式,虛擬化的服務提供模式,使得對使用者身份、權(quán)限和行為的鑒別、控制與審計變得更加困難。這會導致許多基于傳統(tǒng)數(shù)據(jù)中心的安全防護手段失效。
在云計算數(shù)據(jù)中心,多臺虛擬機都在一個服務器設備內(nèi)運行,虛擬機之間通過虛擬化交換機進行連接,通信流量并沒有通過外部交換設備,導致傳統(tǒng)安全設備對這部分的流量失去監(jiān)控。目前大多數(shù)虛擬化軟件廠商沒有在虛擬機通信的東西向流量提供高效的檢測和隔離方式,如果某臺虛擬機出現(xiàn)安全問題,可能會對相關(guān)連的資源池產(chǎn)生嚴重的安全威脅。另外,虛擬機會隨時遷移到其他服務器設備上,造成安全域邊界的動態(tài)化,傳統(tǒng)數(shù)據(jù)中心固定邊界的防護手段也會失效。當虛擬機遷移到新服務器設備上,如果新服務器設備沒有對應的安全保護策略,就可能對遷移后的虛擬機造成安全威脅。
為解決云計算數(shù)據(jù)中心存在的安全問題,需要采用分布式的方式部署安全管理軟件或系統(tǒng)。通常分布式網(wǎng)絡安全產(chǎn)品由集中管理平臺+分布式安全管理軟件組成。集中管理平臺負責安全策略的集中管理,并對安全策略的遷移功能提供支持。同時接收虛擬化安全設備的日志以及統(tǒng)計信息,并分析整個數(shù)據(jù)中心的安全態(tài)勢。
安全軟件是以分布式的形式部署虛擬機和虛擬化平臺上,可以克服傳統(tǒng)物理安全設備的局限,更貼近虛擬機的位置,利用引流或者重定向機制,獲取所有虛擬機的流量,實現(xiàn)分布式的安全防護。
3.4 分布式云數(shù)據(jù)中心
傳統(tǒng)數(shù)據(jù)中心為了做到業(yè)務高可用,保證業(yè)務連續(xù)數(shù)據(jù),防止數(shù)據(jù)丟失,通過采用“同城主備/雙活數(shù)據(jù)中心”或者“兩地三中心”的架構(gòu)。但是不管采用哪一種架構(gòu)方案,都會產(chǎn)生一定的IT資源浪費問題。“主備數(shù)據(jù)中心”,解決了業(yè)務連續(xù)性問題,但是平時只啟用一個數(shù)據(jù)中心資源,另外一個做備份。“雙活數(shù)據(jù)中心”,解決了業(yè)務高可用問題,但是兩個數(shù)據(jù)中心需要部署和運行同樣業(yè)務,同樣會浪費一個數(shù)據(jù)中心的資源。“兩地三中心”,同時最大程度的兼顧業(yè)務和數(shù)據(jù)安全,但是IT資源浪費最嚴重。
在分布式云數(shù)據(jù)中心概念里,多個數(shù)據(jù)中心不再是主/備或者雙活的關(guān)系,而是通過云計算技術(shù)、廣域網(wǎng)二層網(wǎng)絡互連(大二層)技術(shù)和數(shù)據(jù)復制技術(shù),將多個數(shù)據(jù)中心組建成一個分布式的跨中心和地域的“虛擬資源池”。所有業(yè)務和數(shù)據(jù)都可以按需被分配到不同的數(shù)據(jù)中心,實現(xiàn)比“雙活”或者“兩地三中心”更優(yōu)的業(yè)務部署方案。
基于分布式架構(gòu)的云數(shù)據(jù)中心以往可能受技術(shù)限制,難以實現(xiàn)。但是隨著各種技術(shù)的不斷發(fā)展,難度已經(jīng)大大降低,完全可以實現(xiàn)。主要考慮三個問題:業(yè)務訪問網(wǎng)絡,大二層網(wǎng)絡和數(shù)據(jù)同步復制。業(yè)務訪問網(wǎng)絡可以通過全局負載均衡GLSB和智能DNS實現(xiàn)不同區(qū)域的本地訪問,使用大二層互聯(lián)網(wǎng)絡技術(shù)可以解決虛擬機遷移問題。數(shù)據(jù)同步復制可使用微服務+容器+分布式存儲復制技術(shù)解決。通過微服務解耦業(yè)務,無狀態(tài)應用使用容器通過大二層網(wǎng)絡進行遷移,有狀態(tài)應用可以跟隨虛擬機進行遷移,冷數(shù)據(jù)盡量集中存儲,共享訪問,避免過多的數(shù)據(jù)遷移。
目前已經(jīng)有可以落地的方案幫助企業(yè)實現(xiàn)分布式架構(gòu)的云數(shù)據(jù)中心。同時還可以實現(xiàn)數(shù)據(jù)中心資源利用率的最大化,降低運維和管理成本,更好的保證業(yè)務的連續(xù)性。
3.5 兩種架構(gòu)的主要區(qū)別
通過上述對集中式和分布式架構(gòu)在資源處理能力、業(yè)務支撐能力、安全管理能力、可用性和一致性、運維和管理等多個方面的分析可以看出:
集中式架構(gòu)在系統(tǒng)復雜度、數(shù)據(jù)一致性、安全措施實施方便性和運維管理復雜度等方面有一定優(yōu)勢。分布式架構(gòu)在資源使用成本和擴展能力、業(yè)務部署的靈活和系統(tǒng)可用性等方面具有明顯優(yōu)勢。而且集中式架構(gòu)的復雜性可以通過加強管理和設計降低復雜度,安全措施則可以通過增加安全系統(tǒng)和手段加強控制,數(shù)據(jù)一致性則需要通過先進的分布式系統(tǒng)與大規(guī)模運維平臺來支持,當然前提是需要犧牲一定的可用性,這也是分布式架構(gòu)面臨的一個挑戰(zhàn),下文我們會進行詳細論述。
四、分布式架構(gòu)建設的挑戰(zhàn)
隨著數(shù)據(jù)中心信息系統(tǒng)數(shù)量的增加和處理數(shù)據(jù)量越來越大,分布式架構(gòu)的優(yōu)勢會越來越明顯。但是越是先進的架構(gòu)所面臨的挑戰(zhàn)也就越大,由于分布式架構(gòu)采用多節(jié)點設計,這種架構(gòu)最大的難點是會導致數(shù)據(jù)一致性和可用性上的挑戰(zhàn),所有的分布式架構(gòu)設計都繞不開這兩個挑戰(zhàn)。
在分布式架構(gòu)中,有一個非常著名的CAP理論(又被稱作布魯爾定理),定義如下:
對于任何一個分布式計算系統(tǒng),不可能同時滿足以下三點:一致性(Consistency)、可用性(Availability)和容忍網(wǎng)絡分區(qū)(Partitiontolerance)。
一致性通常指數(shù)據(jù)一致性,即要求所有節(jié)點數(shù)據(jù)保持一致。可用性即要求每個節(jié)點在故障時都可以提供服務。容忍網(wǎng)絡分區(qū),通常指各個節(jié)點之間的網(wǎng)絡通信性能。
根據(jù)CAP理論,分布式系統(tǒng)只能滿足其中兩項而不可能滿足全部三項。
CP模型:不考慮A(可用性),多個節(jié)點之間數(shù)據(jù)具備強一致性。如果某個節(jié)點故障,那么就將這個故障節(jié)點丟棄(不考慮A),否則會導致各個節(jié)點之間數(shù)據(jù)同步被無限延長。為了保證數(shù)據(jù)的一致性,大多數(shù)金融行業(yè)的分布式關(guān)系型數(shù)據(jù)庫采用這一模型,
AP模型:不考慮C(一致性),多個節(jié)點之間要求高可用。如果某個節(jié)點故障,并與其他節(jié)點失去聯(lián)系,為了保證節(jié)點的可用性,會放棄全局數(shù)據(jù)一致性(不考慮C)。節(jié)點訪問并使用本地節(jié)點數(shù)據(jù),各個節(jié)點數(shù)據(jù)會導致不一致。大多數(shù)非關(guān)系型的數(shù)據(jù)庫采用這一模型,因為不需要高度的數(shù)據(jù)一致性。
CA模型:不考慮P(容忍網(wǎng)絡分區(qū)),兩個或多個節(jié)點之間要求必須具備可用性的同時又要求數(shù)據(jù)一致。如果某個節(jié)點故障,為了同時保證可用性和數(shù)據(jù)一致性,那么只能對分布式網(wǎng)絡進行強制分區(qū),劃分成多個不同的分區(qū)來保證C和A,會導致分區(qū)被割裂。
由以上幾個模式可以看出,在分布式計算環(huán)境下,P是必須要現(xiàn)實的,否則分布式網(wǎng)絡節(jié)點通訊就會出現(xiàn)問題,所以只能在C和A之間做出選擇,即選擇CP模型或者AP模型,實際的選擇需要根據(jù)自身的業(yè)務場景來根據(jù)各個不同的模型特點進行取舍。
對于一些離線的應用或者對可用性要求不高的業(yè)務,可以采用CP模型。這一類模型相對簡單,但是應用場景也有限。例如日志數(shù)據(jù)分析系統(tǒng),大部分數(shù)據(jù)都在本地,我們只需要在分布式架構(gòu)中配置一定的冗余節(jié)點和恢復機制即可。如果某個節(jié)點出現(xiàn)故障,分析系統(tǒng)會自動等待其他備用節(jié)點恢復后再繼續(xù)運行,因為短時間停止不會對系統(tǒng)產(chǎn)生太多影響,但是各個節(jié)點分析的數(shù)據(jù)要求必須保持一致性。
在數(shù)據(jù)中心,核心系統(tǒng)和重要業(yè)務系統(tǒng)占比較大,如果采用分布式架構(gòu),可能即需要高用性也要求數(shù)據(jù)一致性,這是分布式架構(gòu)設計最大的一個挑戰(zhàn)。
以金融行業(yè)為例,保證業(yè)務的連續(xù)性和高可用性是非常重要的一個需求,可以采用AP模型進行設計。但是數(shù)據(jù)一致性也是要盡量保證的,因為金融系統(tǒng)如果數(shù)據(jù)不一致,會產(chǎn)生嚴重的數(shù)據(jù)問題。關(guān)于數(shù)據(jù)一致性,在分布式架構(gòu)中可以按程度分為強一致性、弱一致性和最終一致性。為了保證金融系統(tǒng)的高可用和業(yè)務連續(xù)性,數(shù)據(jù)強一致性很難達到,弱一致性又無法滿足要求,做為取舍,可以實現(xiàn)數(shù)據(jù)的最終一致性。在分布式系統(tǒng)中,數(shù)據(jù)會被存儲在多個節(jié)點,各個節(jié)點的數(shù)據(jù)被應用修改后,最終一致性不要求各個節(jié)點同時更新數(shù)據(jù),只要求盡快將各個節(jié)點更新后的數(shù)據(jù)分布到整個系統(tǒng)中,這樣在保證系統(tǒng)可用性的同時會實現(xiàn)數(shù)據(jù)的最終一致性,保證金融行業(yè)對數(shù)據(jù)要求。當然,并不是所有的金融業(yè)務都可以采用最終一致性的方案,例如核心實時交易系統(tǒng),必要要求實時處理數(shù)據(jù)并保持強一致性,這也是目前大多數(shù)金融機構(gòu)核心交易系統(tǒng)還在使用集中式架構(gòu)的原因。
分布式云數(shù)據(jù)中心在建設過程中同樣也面臨一些挑戰(zhàn),主要包括網(wǎng)絡、存儲和計算三個方面:
在網(wǎng)絡方面,多個分布式云數(shù)據(jù)中心之間的通信是個問題。需要考慮多個不同區(qū)域的網(wǎng)絡訪問接入、負載均衡問題。還要滿足分散在多個云數(shù)據(jù)中心之間的業(yè)務通信和切換的需要。目前主流的技術(shù)方案是以大二層網(wǎng)絡技術(shù)為主,打通多個數(shù)據(jù)之間的網(wǎng)絡,形成一個統(tǒng)一的邏輯網(wǎng)絡。但是目前各個網(wǎng)絡設備廠商之間的大二層網(wǎng)絡和協(xié)議不統(tǒng)一,設備兼容性有一定的問題,這也是分布式云數(shù)據(jù)中心改造所需要解決的一個問題。
在存儲方面,數(shù)據(jù)實時同步,實現(xiàn)統(tǒng)一的存儲資源共享并建立高可靠性的數(shù)據(jù)保護機制,是一個比較嚴峻的挑戰(zhàn)。多個數(shù)據(jù)中心可能分散在不同地域,各個數(shù)據(jù)中心之間的網(wǎng)絡帶寬有限,可能無法做到數(shù)據(jù)實時同步,只能采用異步傳輸。那么數(shù)據(jù)一致性和完整性可能就等不到保證。上文提到的應用解耦+微服務架構(gòu)可以解決一部分問題。但是對于傳統(tǒng)的無法進行微服務改造的應用仍然是個難題。在數(shù)據(jù)一致性和可用性上可能需要一些取舍。
在計算方面,目前技術(shù)相對成熟。將資源云化以后,利用云計算技術(shù)可以實現(xiàn)對計算資源在多個云數(shù)據(jù)中心的統(tǒng)一調(diào)度和管理。還可以設定權(quán)限,進行精細化管理。在計算方面的一些挑戰(zhàn),通常指對計算資源的管理。例如在某一個應用出現(xiàn)故障時,是將這個資源在本地進行重建還是在其他云數(shù)據(jù)中心進行遷移和重啟,因為這會影響到各個節(jié)點的其他業(yè)務訪問,需要提前進行統(tǒng)一的規(guī)劃和安排。
五、結(jié)束語
相對于傳統(tǒng)數(shù)據(jù)中心,構(gòu)建分布式架構(gòu)的云數(shù)據(jù)中心是非常有必要的,它影響著數(shù)據(jù)中心建設的方方面面。在未來,沒有分布式架構(gòu)的數(shù)據(jù)中心一定不會是一個優(yōu)秀的數(shù)據(jù)中心。通過云計算技術(shù)的不斷發(fā)展與實踐,我相信分布式架構(gòu)一定會成為數(shù)據(jù)中心的未來發(fā)展方向。即使未來數(shù)據(jù)中心的架構(gòu)不是完全分布式的,但是分布式架構(gòu)也絕對不會缺席,一定會有分布式架構(gòu)的一席之地。