本文來(lái)自微信公眾號(hào)“twt企業(yè)IT社區(qū)”,作者/老谷,某股份制銀行系統(tǒng)架構(gòu)師。
一、銀行IT基礎(chǔ)設(shè)施發(fā)展趨勢(shì)
如今,隨著銀行業(yè)越來(lái)越重視其IT的投入和建設(shè),而在這過(guò)往三十年間,銀行的信息系統(tǒng)架構(gòu)經(jīng)歷了電子化、區(qū)域互聯(lián)、數(shù)據(jù)大集中幾個(gè)階段,2010年以后各大行開(kāi)始嘗試向互聯(lián)網(wǎng)+數(shù)據(jù)驅(qū)動(dòng)轉(zhuǎn)型。
對(duì)于銀行IT存儲(chǔ)建設(shè)來(lái)說(shuō),由于新的應(yīng)用系統(tǒng)規(guī)模變得越來(lái)越大,將所有業(yè)務(wù)單元集中部署在一個(gè)或者若干個(gè)大型機(jī)上的體系結(jié)構(gòu),已經(jīng)不能滿(mǎn)足當(dāng)今的業(yè)務(wù)需求。這種部署模式,造成了每套硬件與所承載應(yīng)用系統(tǒng)的“專(zhuān)機(jī)專(zhuān)用”,多套硬件和應(yīng)用系統(tǒng)構(gòu)成了“豎井式”部署架構(gòu),使得整體資源利用率不高,占用過(guò)多的機(jī)房空間和能源。應(yīng)用系統(tǒng)的增多,IT資源的效率、擴(kuò)展性、可管理性都面臨很大的挑戰(zhàn)。
由此云的時(shí)代在銀行業(yè)正式開(kāi)啟序幕,由于各大銀行都努力基于云架構(gòu)來(lái)構(gòu)建新的分布式應(yīng)用,并持續(xù)開(kāi)展主機(jī)下移進(jìn)程,這就形成了銀行業(yè)務(wù)系統(tǒng)獨(dú)有的集中式(大機(jī)上的集中式架構(gòu)核心系統(tǒng))+分布式(云上的分布式架構(gòu)應(yīng)用系統(tǒng))架構(gòu)體系,并結(jié)合云計(jì)算、大數(shù)據(jù)等新技術(shù)手段,不斷優(yōu)化改進(jìn)應(yīng)用架構(gòu)、擴(kuò)展節(jié)點(diǎn)彈性計(jì)算能力、增強(qiáng)系統(tǒng)高可用性,大大提升了業(yè)務(wù)推陳出新的快速組合創(chuàng)新能力。銀行業(yè)務(wù)系統(tǒng)對(duì)架構(gòu)有怎樣的需求,并基于這種創(chuàng)新能力,未來(lái)云化服務(wù)化的存儲(chǔ)架構(gòu)又當(dāng)如何發(fā)展?
二、銀行業(yè)務(wù)系統(tǒng)、數(shù)據(jù)、運(yùn)維對(duì)存儲(chǔ)的需求
針對(duì)金融行業(yè)應(yīng)用的特性,結(jié)合應(yīng)用的具體技術(shù)形態(tài),對(duì)于存儲(chǔ)的需求基本有以下幾類(lèi):
1.銀行業(yè)務(wù)應(yīng)用對(duì)存儲(chǔ)的需求
虛擬機(jī)應(yīng)用的IO特性及對(duì)存儲(chǔ)的需求
隨著云計(jì)算、虛擬化技術(shù)的推廣使用,金融行業(yè)不管是交易類(lèi)系統(tǒng)還是分析類(lèi)系統(tǒng),大量應(yīng)用節(jié)點(diǎn),包括Web服務(wù)器、業(yè)務(wù)處理的App服務(wù)器、通訊服務(wù)器,及部分體量較小的數(shù)據(jù)庫(kù)基本都運(yùn)行在虛擬機(jī)上。為了保證虛擬機(jī)的高可用,往往會(huì)構(gòu)建虛擬化集群,并使用共享存儲(chǔ)。虛擬機(jī)存儲(chǔ)的數(shù)據(jù)和數(shù)據(jù)訪問(wèn)的特點(diǎn)是:數(shù)據(jù)存儲(chǔ)量大,通常一個(gè)虛擬機(jī)需要的存儲(chǔ)空間在幾十GB到數(shù)百GB不等;數(shù)據(jù)的重復(fù)量大,可壓縮的空間大;對(duì)IO性能的要求中等,對(duì)于應(yīng)用節(jié)點(diǎn),IO時(shí)延在10ms(毫秒)左右基本可滿(mǎn)足要求,如果虛擬機(jī)上運(yùn)行數(shù)據(jù)庫(kù),則IO時(shí)延通常要求小于5ms。金融行業(yè)虛擬機(jī)通常通過(guò)共享存儲(chǔ)實(shí)現(xiàn)虛擬化的高可用,因此,對(duì)存儲(chǔ)的穩(wěn)定性有較高的要求。
容器應(yīng)用的IO特性及對(duì)存儲(chǔ)的需求
容器上運(yùn)行的主要是無(wú)狀態(tài)應(yīng)用和輕量數(shù)據(jù)庫(kù)。容器應(yīng)用對(duì)存儲(chǔ)的需求,基本與虛擬機(jī)的需求類(lèi)似。由于一些應(yīng)用沒(méi)法完全做到無(wú)狀態(tài),因此,容器應(yīng)用往往需要共享存儲(chǔ),通常通過(guò)NAS來(lái)提供共享能力。
數(shù)據(jù)庫(kù)應(yīng)用的IO特性及對(duì)存儲(chǔ)的需求
數(shù)據(jù)庫(kù)系統(tǒng)一直處于金融業(yè)務(wù)系統(tǒng)的核心位置,幾乎所有的應(yīng)用系統(tǒng)都離不開(kāi)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)系統(tǒng)的性能問(wèn)題常常是應(yīng)用系統(tǒng)性能問(wèn)題的關(guān)鍵。存儲(chǔ)系統(tǒng)又在數(shù)據(jù)庫(kù)中起著決定性作用。數(shù)據(jù)庫(kù)按其處理業(yè)務(wù)的類(lèi)型可分為OLTP(On-line Transaction Processing)、OLAP(On-LineAnalytical Processing)和混合型。
OLTP主要處理的是前面所述的交易類(lèi)系統(tǒng),這類(lèi)數(shù)據(jù)庫(kù)系統(tǒng)對(duì)存儲(chǔ)的IO時(shí)延極為敏感,并且都是隨機(jī)讀寫(xiě),通常對(duì)存儲(chǔ)的IO時(shí)延要求在2ms以?xún)?nèi),應(yīng)用系統(tǒng)的并發(fā)量越大,對(duì)存儲(chǔ)性能的要求越高。高IOPS(Input/Output OperationsPer Second)、低時(shí)延是OLTP數(shù)據(jù)庫(kù)對(duì)存儲(chǔ)的共性要求。
OLAP主要處理的是前面所述的分析類(lèi)的應(yīng)用,這類(lèi)數(shù)據(jù)庫(kù)對(duì)存儲(chǔ)的吞吐量要求高、IOPS要求高,對(duì)IO時(shí)延也要求高,通常對(duì)存儲(chǔ)的IO時(shí)延要求在數(shù)ms之內(nèi),由于OLAP可以容忍數(shù)據(jù)庫(kù)的單個(gè)SQL響應(yīng)時(shí)間略長(zhǎng),但對(duì)應(yīng)用任務(wù)整體處理時(shí)間還是有一定要求,因此IO時(shí)延也不能太長(zhǎng)。
還有一類(lèi)是OLTP與OLAP混合的數(shù)據(jù)庫(kù),對(duì)于混合型數(shù)據(jù)庫(kù),對(duì)存儲(chǔ)的要求是最高的,既要求IO時(shí)延短,又要求存儲(chǔ)數(shù)據(jù)的吞吐量大。但是在高并發(fā)的應(yīng)用系統(tǒng)設(shè)計(jì)中,通常會(huì)將應(yīng)用拆分,盡量避免使用此類(lèi)混合型數(shù)據(jù)庫(kù)。
•文件共享類(lèi)應(yīng)用的IO特性及對(duì)存儲(chǔ)的需求
有些應(yīng)用系統(tǒng)的服務(wù)器節(jié)點(diǎn)之間,需要共享數(shù)據(jù)庫(kù),常見(jiàn)的是文件共享。這類(lèi)系統(tǒng)對(duì)存儲(chǔ)的要求是IO時(shí)延在幾個(gè)ms左右,并且隨著文件數(shù)量的增加,時(shí)延不能增加。
2.銀行不同數(shù)據(jù)類(lèi)型對(duì)存儲(chǔ)的需求
●非結(jié)構(gòu)化數(shù)據(jù)和歸檔數(shù)據(jù)的IO特性及對(duì)存儲(chǔ)的需求
非結(jié)構(gòu)化數(shù)據(jù)和歸檔數(shù)據(jù)的特點(diǎn)是文件數(shù)量大,文件數(shù)量通常在數(shù)億及以上;對(duì)存儲(chǔ)的時(shí)延要求不高,要求在幾十ms左右,但是要求存儲(chǔ)在容量增加時(shí),性能不能降低。
●結(jié)構(gòu)化數(shù)據(jù)的IO特性對(duì)存儲(chǔ)的需求
關(guān)系數(shù)據(jù)庫(kù):用于主業(yè)務(wù)數(shù)據(jù)存儲(chǔ),提供事務(wù)型數(shù)據(jù)處理,是應(yīng)用系統(tǒng)的核心數(shù)據(jù)存儲(chǔ)。需要高速緩存,對(duì)復(fù)雜或操作代價(jià)昂貴的結(jié)果進(jìn)行緩存,加速訪問(wèn)。
3.銀行運(yùn)行維護(hù)對(duì)存儲(chǔ)的需求
●運(yùn)維智能化對(duì)存儲(chǔ)的需求
基于多設(shè)備、甚至是多設(shè)備多廠家管理的復(fù)雜情形下,金融企業(yè)數(shù)據(jù)中心需要有新型的管理方案,能夠按需分配存儲(chǔ)資源服務(wù),自動(dòng)化數(shù)據(jù)運(yùn)維管理,支持開(kāi)放架構(gòu)、多云鏈接和融合,支持未來(lái)金融業(yè)務(wù)走向全場(chǎng)景智能、多云融合。
●容災(zāi)對(duì)存儲(chǔ)的需求
在移動(dòng)互聯(lián)網(wǎng)已普及、用戶(hù)對(duì)業(yè)務(wù)實(shí)時(shí)性需求越來(lái)越高的今天,保障業(yè)務(wù)連續(xù)性是重中之重,做好完備的災(zāi)備方案規(guī)劃和實(shí)施,實(shí)現(xiàn)業(yè)務(wù)不中斷、數(shù)據(jù)不丟失、操作無(wú)感知。在數(shù)據(jù)中心中,完整的數(shù)據(jù)保護(hù)的過(guò)程應(yīng)該是一個(gè)數(shù)據(jù)加熱的過(guò)程,熱數(shù)據(jù)應(yīng)該全部做容災(zāi)保障7x24H的業(yè)務(wù)連續(xù);對(duì)溫?cái)?shù)據(jù)來(lái)說(shuō)則需要做熱備份,這樣當(dāng)故障發(fā)生時(shí),備份數(shù)據(jù)就能夠快速轉(zhuǎn)變成我們需要的生產(chǎn)數(shù)據(jù);對(duì)于冷數(shù)據(jù)或是歸檔數(shù)據(jù),當(dāng)它們轉(zhuǎn)變?yōu)闇貧w檔數(shù)據(jù)則能夠快速地被調(diào)用發(fā)揮價(jià)值。所以我們說(shuō),“熱數(shù)據(jù)全容災(zāi),溫?cái)?shù)據(jù)熱備份,冷數(shù)據(jù)溫歸檔”,這樣整個(gè)數(shù)據(jù)的訪問(wèn)效率也會(huì)得到大幅度提升。
三、針對(duì)不同的業(yè)務(wù)需求,如何選擇存儲(chǔ)
企業(yè)存儲(chǔ)是金融業(yè)常見(jiàn)的存儲(chǔ)設(shè)備,不管是SAN存儲(chǔ)還是NAS存儲(chǔ),在金融行業(yè)都已使用了二十年。很多銀行構(gòu)建了龐大的SAN存儲(chǔ)網(wǎng)絡(luò)或NAS網(wǎng)絡(luò),并且運(yùn)行穩(wěn)定。近些年隨著云計(jì)算技術(shù)的發(fā)展,互聯(lián)網(wǎng)企業(yè)開(kāi)始大規(guī)模使用分布式存儲(chǔ),分布式存儲(chǔ)給銀行傳統(tǒng)的企業(yè)存儲(chǔ)帶來(lái)了沖擊。很多金融企業(yè)面臨分布式和企業(yè)存儲(chǔ)的選擇難題。
對(duì)于這個(gè)問(wèn)題,其實(shí)不用糾結(jié),不管是企業(yè)存儲(chǔ)還是分布式存儲(chǔ)都有其各自的特點(diǎn)和使用范疇。
1.企業(yè)存儲(chǔ)和分布式存儲(chǔ)的特點(diǎn)
企業(yè)存儲(chǔ)功能完善,穩(wěn)定性好,運(yùn)維簡(jiǎn)單,監(jiān)控、運(yùn)維體系健全,技術(shù)成熟,可選擇的范圍也很廣,從中低端到高端產(chǎn)品齊全。不足是:?jiǎn)误w容量有限,可擴(kuò)展性較差,一次性投入大。
分布式存儲(chǔ),通常使用多臺(tái)PC服務(wù)器,構(gòu)造一個(gè)軟件定義的存儲(chǔ),其特點(diǎn)是:IO吞吐量大,擴(kuò)容方便,可以組成大規(guī)模的存儲(chǔ)池。采購(gòu)成本可分批次、分階段投入,設(shè)備可以分批次折舊。但是由于分布式存儲(chǔ)的成熟度不足,以及分布式存儲(chǔ)本身網(wǎng)絡(luò)連接的條件不如企業(yè)存儲(chǔ),導(dǎo)致穩(wěn)定的性能表現(xiàn)不足,運(yùn)維相對(duì)復(fù)雜,配套的監(jiān)控、運(yùn)維體系不足。
2.企業(yè)存儲(chǔ)和分布式存儲(chǔ)的選擇
在選擇上,如果系統(tǒng)對(duì)延時(shí)要求高,對(duì)性能的穩(wěn)定性要求高,那么最好的選擇是企業(yè)存儲(chǔ)。如果系統(tǒng)對(duì)IO吞吐量的要求高,而對(duì)性能要求沒(méi)那么高,分布式存儲(chǔ)是較適合的選擇。對(duì)于大容量的對(duì)象存儲(chǔ)的選擇,基本上分布式存儲(chǔ)是不二的選擇。在云計(jì)算環(huán)境、虛擬化平臺(tái)所用的存儲(chǔ),如果虛擬機(jī)本身沒(méi)有承載高IO性能要求的應(yīng)用(如數(shù)據(jù)庫(kù)應(yīng)用),那么分布式存儲(chǔ)是較好的選擇,服務(wù)器的擴(kuò)容和存儲(chǔ)的擴(kuò)容可以根據(jù)實(shí)際存儲(chǔ)的用量同步進(jìn)行。未來(lái)隨著分布式技術(shù)的發(fā)展,伴隨著云計(jì)算技術(shù)的發(fā)展,分布式存儲(chǔ)也將逐步在一段時(shí)間內(nèi)有一定的發(fā)展。
四、私有云環(huán)境下,不同架構(gòu)存儲(chǔ)如何適配云架構(gòu)
1.何為云平臺(tái)存儲(chǔ)
云平臺(tái)存儲(chǔ),作為一種云計(jì)算領(lǐng)域存儲(chǔ)服務(wù)方式,底層構(gòu)建在分布式存儲(chǔ)基礎(chǔ)之上,上層通過(guò)Internet形式提供存儲(chǔ)服務(wù),除了具備分布式存儲(chǔ)基礎(chǔ)特性外,更兼具靈活性。
2.云架構(gòu)下存儲(chǔ)的實(shí)現(xiàn)
存儲(chǔ)向云架構(gòu)的適配通過(guò)分布式文件系統(tǒng)的支撐和統(tǒng)一云管平臺(tái)的調(diào)度?,F(xiàn)有的云平臺(tái)存儲(chǔ)分布式文件系統(tǒng)包括GFS、HDFS、Lustre、FastDFS、PVFS、GPFS、PFS、Ceph和TFS等。
我行現(xiàn)有一套私有云環(huán)境,由同一套存儲(chǔ)系統(tǒng)為上層應(yīng)用提供塊、文件和對(duì)象三種數(shù)據(jù)服務(wù),滿(mǎn)足銀行業(yè)務(wù)對(duì)結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的存放需求,例如:在高性能、高讀寫(xiě)速率要求,數(shù)據(jù)密集型應(yīng)用場(chǎng)景下:NoSQL/關(guān)系型數(shù)據(jù)庫(kù)(超高IO存儲(chǔ)類(lèi)型),需通過(guò)云平臺(tái)存儲(chǔ)對(duì)外提供的集中式塊存儲(chǔ)服務(wù)來(lái)實(shí)現(xiàn)。在大容量、讀寫(xiě)速率要求不高、事務(wù)性處理較少的應(yīng)用場(chǎng)景下:企業(yè)辦公應(yīng)用(通用IO存儲(chǔ)類(lèi)型),則通過(guò)云存儲(chǔ)對(duì)外提供的分布式塊存儲(chǔ)服務(wù)來(lái)實(shí)現(xiàn)。具體的實(shí)現(xiàn)邏輯實(shí)際是基于:云硬盤(pán),是一種基于分布式架構(gòu)的,可彈性擴(kuò)展的虛擬塊存儲(chǔ)設(shè)備??梢栽诰€進(jìn)行操作,可以對(duì)掛載到云服務(wù)器上的云硬盤(pán)做格式化、創(chuàng)建文件系統(tǒng)等操作,并對(duì)數(shù)據(jù)持久化存儲(chǔ)。同時(shí),云硬盤(pán)具有更高的數(shù)據(jù)可靠性,更高的I/O吞吐能力和更加簡(jiǎn)單易用等特點(diǎn)。而對(duì)于影像存儲(chǔ),非結(jié)構(gòu)化數(shù)據(jù)備份歸檔需求則通過(guò)OBS,一個(gè)基于對(duì)象的海量存儲(chǔ)服務(wù),來(lái)提供海量、安全、高可靠、低成本的數(shù)據(jù)存儲(chǔ)能力。
云平臺(tái)存儲(chǔ)內(nèi)置數(shù)據(jù)保護(hù)功能,例如:備份、容災(zāi)等,分布式存儲(chǔ)提供多種企業(yè)級(jí)特性,包括快照、精簡(jiǎn)配置、備份、加密、壓縮、QoS等。
通過(guò)云管平臺(tái)對(duì)計(jì)算,存儲(chǔ),網(wǎng)絡(luò)等多種云服務(wù)進(jìn)行統(tǒng)一的的申請(qǐng)發(fā)放,幫助我行輕松應(yīng)對(duì)業(yè)務(wù)快速變化時(shí)的信息靈活、可靠存取的需求。保障銀行云平臺(tái)存儲(chǔ)系統(tǒng)的數(shù)據(jù)安全性,超強(qiáng)的可擴(kuò)展性。
五、云環(huán)境下的存儲(chǔ)服務(wù)化如何實(shí)現(xiàn)
未來(lái)銀行的IT以全行資源池化的私有云為基礎(chǔ),通過(guò)云平臺(tái)存儲(chǔ)實(shí)現(xiàn)虛擬化存儲(chǔ)資源的管理和使用。云存儲(chǔ)采用可擴(kuò)展的分布式文件系統(tǒng),它將存儲(chǔ)作為服務(wù),通過(guò)應(yīng)用軟件進(jìn)行業(yè)務(wù)管理,統(tǒng)一的應(yīng)用接口對(duì)外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問(wèn)功能。并通過(guò)集群應(yīng)用、網(wǎng)格技術(shù)等技術(shù),將網(wǎng)絡(luò)中大量類(lèi)型各異的存儲(chǔ)設(shè)備整合起來(lái)。通過(guò)OpenStack的標(biāo)準(zhǔn)接口,對(duì)服務(wù)器、虛擬化平臺(tái)、存儲(chǔ)、網(wǎng)絡(luò)、容器等基礎(chǔ)設(shè)備及軟件進(jìn)行統(tǒng)一的管理。
1.針對(duì)于不同需求的存儲(chǔ)服務(wù)化
●對(duì)象存儲(chǔ)服務(wù)OBS
一項(xiàng)面向Internet訪問(wèn)的服務(wù),提供基于HTTP/HTTPS協(xié)議的Web服務(wù)接口,銀行業(yè)務(wù)系統(tǒng)在使用時(shí)需要該服務(wù)可以隨時(shí)隨地連接到Internet的電腦上,以O(shè)BS管理控制臺(tái)或各種OBS工具訪問(wèn)來(lái)管理存儲(chǔ)在OBS中的數(shù)據(jù)。此外,OBS需要支持SDK和OBS API接口,可在使用時(shí)方便管理銀行自己存儲(chǔ)在OBS上的數(shù)據(jù),以及開(kāi)發(fā)多種類(lèi)型的上層業(yè)務(wù)應(yīng)用。
●文件存儲(chǔ)服務(wù)SFS
彈性文件服務(wù)(Scalable File Service,SFS)提供按需擴(kuò)展的高性能文件存儲(chǔ)(NAS)。
對(duì)于銀行不中斷應(yīng)用和文件共享的需求,文件服務(wù)需要實(shí)現(xiàn)同一區(qū)域跨多個(gè)可用區(qū)的云服務(wù)器可以訪問(wèn)同一文件系統(tǒng),從而滿(mǎn)足多臺(tái)云服務(wù)器共同訪問(wèn)和分享文件。彈性文件服務(wù)要根據(jù)使用需求,在不中斷應(yīng)用的情況下,增加或者縮減文件系統(tǒng)的容量。性能隨容量增加而提升,保障高可靠性和高可用性,同時(shí)保障數(shù)據(jù)的高持久度,滿(mǎn)足業(yè)務(wù)增長(zhǎng)需求。彈性文件服務(wù)應(yīng)同時(shí)支持NFS和CIFS協(xié)議。通過(guò)標(biāo)準(zhǔn)協(xié)議訪問(wèn)數(shù)據(jù),無(wú)縫適配主流應(yīng)用程序進(jìn)行數(shù)據(jù)讀寫(xiě)。兼容SMB2.0/2.1/3.0版本,Windows客戶(hù)端可輕松訪問(wèn)共享空間,從而滿(mǎn)足銀行業(yè)務(wù)應(yīng)用的高效。
●塊存儲(chǔ)服務(wù)
云硬盤(pán)應(yīng)具有更高的數(shù)據(jù)可靠性,更高的I/O吞吐能力,以滿(mǎn)足銀行核心數(shù)據(jù)的存儲(chǔ)與使用。
六、小結(jié)
綜上所述,云平臺(tái)存儲(chǔ)架構(gòu)和云平臺(tái)存儲(chǔ)相關(guān)的技術(shù),為銀行未來(lái)業(yè)務(wù)發(fā)展提供了先進(jìn)的技術(shù)支撐,為架構(gòu)持續(xù)演進(jìn)奠定了基礎(chǔ)。面向互聯(lián)網(wǎng)的數(shù)字銀行IT系統(tǒng)設(shè)計(jì)越趨復(fù)雜,在業(yè)務(wù)需求快速變化的情況下,微服務(wù)的數(shù)量也呈指數(shù)級(jí)增長(zhǎng),傳統(tǒng)的模式支撐如此大規(guī)模的分布式服務(wù)變得艱難,云平臺(tái)存儲(chǔ)架構(gòu)簡(jiǎn)化了業(yè)務(wù)系統(tǒng)基礎(chǔ)設(shè)施,更利于構(gòu)建自動(dòng)化的管理體系。