銀行建設(shè)容器持久化存儲(chǔ)有哪些難點(diǎn)_第1頁(yè)
銀行建設(shè)容器持久化存儲(chǔ)有哪些難點(diǎn)_第2頁(yè)
銀行建設(shè)容器持久化存儲(chǔ)有哪些難點(diǎn)_第3頁(yè)
銀行建設(shè)容器持久化存儲(chǔ)有哪些難點(diǎn)_第4頁(yè)
銀行建設(shè)容器持久化存儲(chǔ)有哪些難點(diǎn)_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 銀行建設(shè)容器持久化存儲(chǔ)有哪些難點(diǎn)? 隨著以docker為代表的容器技術(shù)的發(fā)展,為應(yīng)用的開(kāi)發(fā)、測(cè)試、運(yùn)維帶來(lái)了巨大的便捷。容器技術(shù)不僅在互聯(lián)網(wǎng)企業(yè)應(yīng)用廣泛,在傳統(tǒng)銀行業(yè)的IT中也發(fā)展迅速。很多銀行都在建設(shè)以docker為容器技術(shù)支撐的PaaS平臺(tái),嘗試一些新型應(yīng)用的微服務(wù)框架和容器化改造。由于數(shù)據(jù)對(duì)于銀行的重要性,不可避免的要解決容器的持久化數(shù)據(jù)存儲(chǔ)問(wèn)題。本文將結(jié)合某銀行PaaS平臺(tái)建設(shè)和運(yùn)維過(guò)程中的實(shí)踐案例,闡述容器持久化存儲(chǔ)的必要性和難點(diǎn)。容器存儲(chǔ)的實(shí)現(xiàn)方案容器的特性決定了容器本身是非持久化的,容器被刪除,其上的數(shù)據(jù)也一并刪除。而其上承載的應(yīng)用分為有狀態(tài)和無(wú)狀態(tài)。容器更傾向于無(wú)狀態(tài)化應(yīng)用,

2、可水平擴(kuò)展的,但并不意味所有的應(yīng)用都是無(wú)狀態(tài)的,特別是銀行的應(yīng)用,一些服務(wù)的狀態(tài)需要保存比如日志等相關(guān)信息,因此需要持久化存儲(chǔ)。容器存儲(chǔ)大致有三種存儲(chǔ)方案:(1)原生云存儲(chǔ)方案:按照純粹的原生云的設(shè)計(jì)模式,持久化數(shù)據(jù)并不是存儲(chǔ)在容器中,而是作為后端服務(wù),例如對(duì)象存儲(chǔ)和數(shù)據(jù)庫(kù)即服務(wù)。這個(gè)方案可以確保容器和它們的數(shù)據(jù)持久化支持服務(wù)松耦合,同時(shí)也不需要那些會(huì)限制擴(kuò)展的依賴。(2)把容器作為虛擬機(jī):利用容器帶來(lái)的便攜性的優(yōu)點(diǎn),一些用戶將容器作為輕量虛擬機(jī)來(lái)使用。如果便攜性是遷移到容器的原因之一,那么采用容器替代虛擬機(jī)來(lái)安裝遺留應(yīng)用是這種便攜性的反模式。由于大卷中存儲(chǔ)數(shù)據(jù)是緊耦合在容器上,便攜性難以實(shí)現(xiàn)

3、。(3)容器持久化數(shù)據(jù)卷:在容器中運(yùn)行的應(yīng)用,應(yīng)用真正需要保存的數(shù)據(jù),可以寫入持久化的Volume數(shù)據(jù)卷。在這個(gè)方案中,持久層產(chǎn)生價(jià)值,不是通過(guò)彈性,而是通過(guò)靈活可編程,例如通過(guò)設(shè)計(jì)的API來(lái)擴(kuò)展存儲(chǔ)。這個(gè)方案結(jié)合了持久層和或純?cè)圃O(shè)計(jì)模式。Docker發(fā)布了容器卷插件規(guī)范,允許第三方廠商的數(shù)據(jù)卷在Docker引擎中提供數(shù)據(jù)服務(wù)。這種機(jī)制意味著外置存儲(chǔ)可以超過(guò)容器的生命周期而獨(dú)立存在。而且各種存儲(chǔ)設(shè)備只要滿足接口API標(biāo)準(zhǔn),就可接入Docker容器的運(yùn)行平臺(tái)中?,F(xiàn)有的各種存儲(chǔ)可以通過(guò)簡(jiǎn)單的驅(qū)動(dòng)程序封裝,從而實(shí)現(xiàn)和Docker容器的對(duì)接??梢哉f(shuō),驅(qū)動(dòng)程序?qū)崿F(xiàn)了和容器引擎的北向接口,底層則調(diào)用后

4、端存儲(chǔ)的功能完成數(shù)據(jù)存取等任務(wù)。目前已經(jīng)實(shí)現(xiàn)的Docker Volume Plugin中,后端存儲(chǔ)包括常見(jiàn)的NFS,GlusterFS和塊設(shè)備等。某銀行容器平臺(tái)數(shù)據(jù)分類和存儲(chǔ)某銀行已建成的容器管理平臺(tái)數(shù)據(jù)主要分為:平臺(tái)數(shù)據(jù)和應(yīng)用數(shù)據(jù)。兩大類數(shù)據(jù)均需要獨(dú)立于容器外的持久化存儲(chǔ)。平臺(tái)數(shù)據(jù)分類如下:(1)應(yīng)用建模數(shù)據(jù):應(yīng)用屬性、節(jié)點(diǎn)、微服務(wù)編排、微服務(wù)運(yùn)行管理策略等(創(chuàng)建于容器管理平臺(tái),存放于后臺(tái)DB中);(2) 集群管理數(shù)據(jù):容器宿主機(jī)節(jié)點(diǎn)信息(包括高可用/等保/網(wǎng)絡(luò)區(qū)域、IP、調(diào)度標(biāo)簽)(存放于后臺(tái)DB);集群資源監(jiān)控(容器管理平臺(tái)動(dòng)態(tài)生成,存放于后臺(tái)DB);(3)多租戶管理數(shù)據(jù):用戶身份和租戶

5、信息、租戶擁有的集群(創(chuàng)建于外部系統(tǒng),存放于外部CMDB);用戶在租戶中的角色(創(chuàng)建于容器管理平臺(tái),存放于后臺(tái)DB)。租戶使用計(jì)量(容器管理平臺(tái)動(dòng)態(tài)生成,存放于后臺(tái)DB);(4)應(yīng)用監(jiān)控?cái)?shù)據(jù):應(yīng)用容器信息(容器IP、所在宿主機(jī)) 、運(yùn)行情況(健康情況、資源占用),由容器管理平臺(tái)動(dòng)態(tài)生成,存放于后臺(tái)DB,外部系統(tǒng)通過(guò)接口獲取應(yīng)用容器信息和運(yùn)行情況;事件監(jiān)控(由平臺(tái)動(dòng)態(tài)生成,存放于的事件審計(jì)DB,并通過(guò)消息隊(duì)列實(shí)時(shí)上報(bào)給外部系統(tǒng));APM、NPM數(shù)據(jù)(由外部系統(tǒng)從容器集群獲取,保存在外部DB中);應(yīng)用數(shù)據(jù)分類如下:(1)應(yīng)用日志:應(yīng)用在容器中運(yùn)行動(dòng)態(tài)生成的數(shù)據(jù),存儲(chǔ)在容器平臺(tái)管理的外置存儲(chǔ)中,結(jié)合

6、一定的日志規(guī)范并通過(guò)logstash傳遞給外部的kafaka隊(duì)列,日志分析和監(jiān)控,并保存在外部數(shù)據(jù)庫(kù)中,如下圖:(2)應(yīng)用生成數(shù)據(jù):應(yīng)用產(chǎn)生的相關(guān)數(shù)據(jù),如大數(shù)據(jù)的相關(guān)應(yīng)用,數(shù)據(jù)經(jīng)過(guò)流處理和解析器解析后,最終將結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)在應(yīng)用的DB中。某銀行容器平臺(tái)的存儲(chǔ)管理某銀行已建成的容器管理平臺(tái),容器是以運(yùn)行時(shí)掛載邏輯卷的方式使用存儲(chǔ)資源。存儲(chǔ)資源分為以下兩類:(1)原生的本地存儲(chǔ)管理:容器宿主機(jī)本地硬盤,創(chuàng)建容器時(shí)指定文件存儲(chǔ)路徑與本地文件系統(tǒng)路徑的映射關(guān)系,適合磁盤IO要求較高,遷移要求不高的應(yīng)用(例如大數(shù)據(jù)應(yīng)用);(2)平臺(tái)提供的共享式存儲(chǔ)管理,PaaS平臺(tái)之外的共享存儲(chǔ),預(yù)先通過(guò)容器平臺(tái)的存

7、儲(chǔ)驅(qū)動(dòng)在共享存儲(chǔ)系統(tǒng)創(chuàng)建邏輯卷,創(chuàng)建容器時(shí)掛載,適合遷移要求高、不同的容器之間數(shù)據(jù)共享和重用等要求;原理如下圖:PaaS平臺(tái)提供volume plugin,對(duì)接共享存儲(chǔ),并通過(guò)容器啟動(dòng)參數(shù)指定為卷驅(qū)動(dòng):docker run volume-driver=XXXX -v hostVol:/internalVol容器使用共享式存儲(chǔ)的過(guò)程:(1)通過(guò)volume-driver指定volume plugin(2)Volume plugin和共享存儲(chǔ)系統(tǒng)對(duì)接,負(fù)責(zé)在共享存儲(chǔ)上創(chuàng)建卷,并掛載到本地容器宿主機(jī),通過(guò)本地目錄hostVol訪問(wèn)(3)通過(guò)容器啟動(dòng)參數(shù)-v,容器將宿主機(jī)的本地目錄hostVol掛載到

8、容器內(nèi)部,容器通過(guò)內(nèi)部目錄internalVol讀寫(4)Volume plugin負(fù)責(zé)在共享存儲(chǔ)上進(jìn)行卷的創(chuàng)建/刪除/掛載/卸載全過(guò)程(5)每臺(tái)容器宿主機(jī)上都需要安裝存儲(chǔ)驅(qū)動(dòng)(volume plugin)。當(dāng)容器宿主機(jī)被添加到容器集群時(shí),由管理平臺(tái)自動(dòng)向容器宿主機(jī)推送安裝存儲(chǔ)驅(qū)動(dòng)根據(jù)該銀行業(yè)務(wù)需求,容器平臺(tái)的共享存儲(chǔ)驅(qū)動(dòng)需要支持以下方式使用共享存儲(chǔ):直接連接存儲(chǔ)設(shè)備方式,需要支持的共享存儲(chǔ)類型包括:CEPH,NFS,通過(guò)連接第三方存儲(chǔ)驅(qū)動(dòng)方式,需要支持的第三方存儲(chǔ)驅(qū)動(dòng)包括:Cinder,通過(guò)連接Cinder,實(shí)現(xiàn)更多異構(gòu)存儲(chǔ)方案的支持。容器持久化存儲(chǔ)的問(wèn)題與思考在某銀行容器平臺(tái)的建設(shè)過(guò)程中,

9、對(duì)容器持久化存儲(chǔ)有以下幾點(diǎn)思考:(1)擴(kuò)展性和彈性問(wèn)題:在只有幾十或幾百容器的環(huán)境里,持久化存儲(chǔ)實(shí)現(xiàn)架構(gòu)可能并不會(huì)成為一個(gè)問(wèn)題。但是一旦增長(zhǎng)到成千上萬(wàn)的容器規(guī)模時(shí),大量容器都是臨時(shí)運(yùn)行并且不斷遷移,它們所依賴的持久化存儲(chǔ)如果是緊耦合到特定容器宿主機(jī)的話將會(huì)極大地影響到整個(gè)容器架構(gòu)的可擴(kuò)展和彈性伸縮能力。試想一下構(gòu)建一個(gè)大型云原生應(yīng)用所使用的容器宿主機(jī)依賴于SAN存儲(chǔ)來(lái)實(shí)現(xiàn)持久化,可擴(kuò)展能力會(huì)被牢牢限制在可以連接到相同的SAN存儲(chǔ)卷的服務(wù)器數(shù)量?;蛘呤褂霉蚕砦募到y(tǒng)來(lái)實(shí)現(xiàn)持久化,從一個(gè)容器掛載一個(gè)卷所需的時(shí)間通常要比新起一個(gè)容器更久一些。這就產(chǎn)生了一個(gè)容器里快速拉起一個(gè)應(yīng)用的需求與掛載持久化存儲(chǔ)層必需的耗時(shí)兩者之間的相互沖突。(2)行為模式:銀行用戶把應(yīng)用從虛擬機(jī)遷移到了容器,為什么無(wú)法得到容器理應(yīng)帶來(lái)的全部收益。通過(guò)更多的持久化存儲(chǔ)選擇,是否已經(jīng)偏離了像12要素這樣的云原生應(yīng)用的設(shè)計(jì)模式。傳統(tǒng)的存儲(chǔ)模式及解決方案的依賴可能恰恰是加深了對(duì)云原生設(shè)計(jì)的反模式。(3)監(jiān)控:容器持久化存儲(chǔ)的實(shí)現(xiàn)往往要依賴于容器外部的數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論