国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

和彩云多節(jié)點(diǎn)架構(gòu)技術(shù)研究

2022-07-16 13:11焦容
廣東通信技術(shù) 2022年6期
關(guān)鍵詞:路由表彩云呼和浩特

[焦容]

1 引言

和彩云業(yè)務(wù)是中國移動(dòng)的云存儲(chǔ)類業(yè)務(wù),用戶可以將個(gè)人數(shù)字資產(chǎn)存儲(chǔ)在和彩云,上傳下載速度較快,不限速;且利用https 等進(jìn)行傳輸,安全性較好。如何提升和彩云架構(gòu)的高可靠性和健壯性是非常重要的課題,將直接影響業(yè)務(wù)的體驗(yàn)。

和彩云在2019 年前一直采用1+1 架構(gòu),即一個(gè)用戶節(jié)點(diǎn)與一個(gè)存儲(chǔ)節(jié)點(diǎn)支撐業(yè)務(wù)運(yùn)行,用戶節(jié)點(diǎn)與存儲(chǔ)節(jié)點(diǎn)均設(shè)置在廣州。用戶節(jié)點(diǎn)負(fù)責(zé)用戶登錄、元數(shù)據(jù)管理、流程實(shí)現(xiàn)等,是和彩云架構(gòu)的主要節(jié)點(diǎn);存儲(chǔ)節(jié)點(diǎn)負(fù)責(zé)用戶上傳下載、在線與離線轉(zhuǎn)碼、人臉聚類等,關(guān)系到用戶上傳下載體驗(yàn),也是重要的節(jié)點(diǎn)。

1+1 架構(gòu)有如下缺陷。

(1)單點(diǎn)故障

用戶節(jié)點(diǎn)與存儲(chǔ)節(jié)點(diǎn)均存在單點(diǎn)故障。如果用戶節(jié)點(diǎn)發(fā)生故障,將導(dǎo)致和彩云用戶無法登錄,查詢用戶資產(chǎn)、上傳下載等業(yè)務(wù)流程更無法運(yùn)行,也就是說業(yè)務(wù)完全不可用,發(fā)生業(yè)務(wù)全阻現(xiàn)象;如果存儲(chǔ)節(jié)點(diǎn)發(fā)生故障,雖然用戶能登錄、查詢用戶資產(chǎn),但無法使用上傳下載、在線播放等核心業(yè)務(wù),屬于嚴(yán)重故障。

(2)容量無法持續(xù)擴(kuò)容

受限于機(jī)房機(jī)柜的數(shù)量、數(shù)據(jù)庫的容量等制約因素,單個(gè)用戶節(jié)點(diǎn)的容量上限為6 000 萬APP 月活,很難向上突破,這將大大制約和彩云業(yè)務(wù)的發(fā)展。

如何避免業(yè)務(wù)全阻或上傳下載等核心業(yè)務(wù)不可用,擴(kuò)充用戶節(jié)點(diǎn)容量,本文設(shè)計(jì)了一套和彩云多節(jié)點(diǎn)方案,并成功實(shí)現(xiàn)。

2 原架構(gòu)及分析

和彩云2018 年前的架構(gòu)如圖1 所示。為1+1 架構(gòu),1個(gè)用戶節(jié)點(diǎn)加1 個(gè)存儲(chǔ)節(jié)點(diǎn)。

圖1 單節(jié)點(diǎn)架構(gòu)

下面說明用戶上傳文件的流程。

(1)用戶上傳文件操作前,去用戶節(jié)點(diǎn)進(jìn)行用戶登錄鑒權(quán),并查看用戶空間是否有空余空間;如果條件滿足用戶節(jié)點(diǎn)將用戶調(diào)度到存儲(chǔ)節(jié)點(diǎn),進(jìn)行上傳文件操作。

(2)上傳文件完成后存儲(chǔ)節(jié)點(diǎn)記錄該用戶上傳的文件ID、文件大小、存儲(chǔ)在哪個(gè)存儲(chǔ)節(jié)點(diǎn)、MD5 等信息。

(3)向用戶節(jié)點(diǎn)發(fā)信令,告知用戶節(jié)點(diǎn)該文件上傳成功,用戶節(jié)點(diǎn)記錄文件ID、文件名稱、文件上傳時(shí)間等信息。

從以上流程可以看出,因用戶節(jié)點(diǎn)與存儲(chǔ)節(jié)點(diǎn)都只有一個(gè),任何一個(gè)節(jié)點(diǎn)出現(xiàn)故障,都將導(dǎo)致用戶無法正常上傳下載,上傳下載是和彩云業(yè)務(wù)的核心流程。就是第一章所說的單點(diǎn)故障。另外也存在前面提到的容量無法持續(xù)擴(kuò)容的缺陷。

3 多節(jié)點(diǎn)架構(gòu)

3.1 多存儲(chǔ)節(jié)點(diǎn)架構(gòu)

2018 年6 月成功上線了呼和浩特存儲(chǔ)節(jié)點(diǎn),首次實(shí)現(xiàn)了多存儲(chǔ)節(jié)點(diǎn)架構(gòu),形成了1+2 架構(gòu),如圖2 所示。

圖2 多存儲(chǔ)節(jié)點(diǎn)架構(gòu)

多存儲(chǔ)節(jié)點(diǎn)方案的關(guān)鍵技術(shù)如下。

3.1.1 重構(gòu)上傳下載流程

3.1.1.1 路由選擇

本方案重構(gòu)了和彩云上傳下載流程,用戶節(jié)點(diǎn)存儲(chǔ)了一張路由表,將31 個(gè)省的地市區(qū)號(hào)按照距離遠(yuǎn)近分別歸屬到廣州和呼和浩特存儲(chǔ)節(jié)點(diǎn),然后按路由表將用戶路由到相應(yīng)的存儲(chǔ)節(jié)點(diǎn)進(jìn)行上傳下載操作。從和彩云系統(tǒng)導(dǎo)出的部分路由表如表1 所示。例如將河北用戶路由到呼和浩特存儲(chǔ)節(jié)點(diǎn)進(jìn)行上傳下載操作,而不是路由到廣州存儲(chǔ)節(jié)點(diǎn)。

表1 存儲(chǔ)節(jié)點(diǎn)路由表

3.1.1.2 異構(gòu)存儲(chǔ)的支持

將用戶路由到某存儲(chǔ)節(jié)點(diǎn)后,支持該存儲(chǔ)節(jié)點(diǎn)內(nèi)部有不同類型的存儲(chǔ),也支持不同廠商的存儲(chǔ)。比如廣州存儲(chǔ)節(jié)點(diǎn)同時(shí)支持文件存儲(chǔ)與對(duì)象存儲(chǔ),也同時(shí)支持阿里、騰訊、中國移動(dòng)云能力中心的文件存儲(chǔ),也同時(shí)支持阿里與中國移動(dòng)云能力中心的對(duì)象存儲(chǔ)。異構(gòu)存儲(chǔ)集群選擇的算法是:

(1)計(jì)算存儲(chǔ)空閑率

某存儲(chǔ)節(jié)點(diǎn)有多個(gè)不同類型不同廠商的存儲(chǔ)集群,某個(gè)集群的空閑率的算法是:currentFreeRatio=(100-cloudStorage.getUsedRatio())*cloudStorage.getWeight()*MANUFACTURERWEIGHT。

公式中各參數(shù)的含義如下。

currentFreeRatio:集群的空閑率。

cloudStorage.getUsedRatio():該存儲(chǔ)集群的使用率,比如該集群為5P,使用了4P,則使用率為80%。

cloudStorage.getWeight():指該集群的權(quán)重,跟集群存儲(chǔ)容量大小、使用的是對(duì)象存儲(chǔ)還是文件存儲(chǔ)有關(guān),由和彩云運(yùn)營商配置。

MANUFACTURERWEIGHT:指廠商的權(quán)重,根據(jù)不同廠商的存儲(chǔ)性能情況分配不同的權(quán)重。

(2)創(chuàng)建hash 環(huán)

某個(gè)存儲(chǔ)節(jié)點(diǎn)有多個(gè)集群,根據(jù)集群的空閑率(currentFreeRatio)創(chuàng)建hash 環(huán)。例如圖3 的存儲(chǔ)節(jié)點(diǎn)有4個(gè)集群,創(chuàng)建的hash環(huán)有4個(gè)域(range)。currentFreeRatio值越大,則該集群的域值越大,在hash 環(huán)占的弧長越大,文件被隨機(jī)分配到某個(gè)域的概率則越高。

圖3 存儲(chǔ)節(jié)點(diǎn)hash 環(huán)

3.1.1.3 上傳下載流程

多存儲(chǔ)節(jié)點(diǎn)架構(gòu)下用戶上傳下載文件的過程是,在用戶進(jìn)行文件上傳操作時(shí),向用戶節(jié)點(diǎn)獲取用戶歸屬哪個(gè)存儲(chǔ)節(jié)點(diǎn)的信息,然后用戶節(jié)點(diǎn)調(diào)度用戶到歸屬存儲(chǔ)節(jié)點(diǎn)進(jìn)行上傳操作,實(shí)現(xiàn)用戶存儲(chǔ)訪問就近接入,用戶的文件下載操作原理類似。用戶上傳下載文件的數(shù)據(jù)與信令流如圖4 所示。

圖4 用戶上傳下載文件數(shù)據(jù)與信令流

3.1.1.4 用戶體驗(yàn)分析

呼和浩特存儲(chǔ)節(jié)點(diǎn)上線后,相比單存儲(chǔ)節(jié)點(diǎn)架構(gòu)北方用戶上傳速度提升了1 倍,達(dá)到1.2 Mbit/s,下載速度提升了70%,達(dá)到2.4 Mbit/s。如圖5 所示。

圖5 呼和浩特存儲(chǔ)節(jié)點(diǎn)上線前后速度對(duì)比

3.1.2 設(shè)置容災(zāi)機(jī)制

和彩云系統(tǒng)用戶歸屬哪個(gè)存儲(chǔ)節(jié)點(diǎn)的路由表是可配置的,如果某個(gè)存儲(chǔ)節(jié)點(diǎn)出現(xiàn)故障,可以臨時(shí)修改路由表,將該存儲(chǔ)節(jié)點(diǎn)對(duì)應(yīng)的所有地區(qū)區(qū)號(hào)配置到另一個(gè)存儲(chǔ)節(jié)點(diǎn)。這樣用戶可以繼續(xù)正常上傳下載。例如如果廣州存儲(chǔ)節(jié)點(diǎn)出現(xiàn)故障,10 分鐘內(nèi)可以修改路由表并生效,南方用戶臨時(shí)歸屬呼和浩特存儲(chǔ)節(jié)點(diǎn),從而保障南方用戶正常使用業(yè)務(wù)。廣州存儲(chǔ)節(jié)點(diǎn)與呼和浩特存儲(chǔ)節(jié)點(diǎn)互為容災(zāi)。

3.2 多用戶節(jié)點(diǎn)+多存儲(chǔ)節(jié)點(diǎn)架構(gòu)

2021 年12 月和彩云上線了呼和浩特用戶節(jié)點(diǎn),2022年3月上線了東莞存儲(chǔ)節(jié)點(diǎn),形成了2+3架構(gòu),如圖6所示。

圖6 多用戶節(jié)點(diǎn)+多存儲(chǔ)節(jié)點(diǎn)架構(gòu)

多用戶節(jié)點(diǎn)架構(gòu)的關(guān)鍵技術(shù)如下。

3.2.1 用戶調(diào)度

將單用戶節(jié)點(diǎn)改為雙用戶節(jié)點(diǎn)后,用戶訪問和彩云系統(tǒng)時(shí),需要先確定用戶訪問哪個(gè)用戶節(jié)點(diǎn),我們新建了一個(gè)調(diào)度節(jié)點(diǎn)解決該問題。將和彩云域名對(duì)應(yīng)調(diào)度節(jié)點(diǎn)的IP地址配置在DNS 中,調(diào)度節(jié)點(diǎn)還保存了一張表,記錄廣州用戶節(jié)點(diǎn)與呼和浩特用戶節(jié)點(diǎn)分別對(duì)應(yīng)的地區(qū)區(qū)號(hào),原則上廣州用戶節(jié)點(diǎn)管理南方用戶,呼和浩特用戶節(jié)點(diǎn)管理北方用戶。用戶訪問和彩云系統(tǒng)時(shí),可以根據(jù)該表查詢到該用戶歸屬哪個(gè)用戶節(jié)點(diǎn),然后調(diào)度節(jié)點(diǎn)將該用戶路由到相應(yīng)的用戶節(jié)點(diǎn)。

廣州用戶節(jié)點(diǎn)與呼和浩特用戶節(jié)點(diǎn)根據(jù)地區(qū)區(qū)號(hào)進(jìn)行靈活配置。

3.2.2 數(shù)據(jù)資產(chǎn)的割接

在2021 年12 月前,所有用戶的文件信息都存儲(chǔ)在廣州用戶節(jié)點(diǎn)。12 月將內(nèi)蒙烏海60 萬用戶割接到了呼和浩特用戶節(jié)點(diǎn)。割接當(dāng)晚12 點(diǎn)和彩云系統(tǒng)暫停對(duì)外服務(wù),從廣州用戶節(jié)點(diǎn)的200 億條數(shù)據(jù)記錄中篩選出烏海用戶的用戶信息、上傳文件信息等數(shù)據(jù),然后用SQL 語句寫的批量復(fù)制工具將烏海的數(shù)據(jù)復(fù)制到呼和浩特用戶節(jié)點(diǎn),再將烏海用戶路由到呼和浩特用戶節(jié)點(diǎn),進(jìn)行業(yè)務(wù)測(cè)試驗(yàn)證。測(cè)試通過且烏海用戶業(yè)務(wù)運(yùn)行正常后才能將存在于廣州用戶節(jié)點(diǎn)的烏海用戶數(shù)據(jù)刪除。

3.2.3 文件跨站點(diǎn)轉(zhuǎn)存

外鏈?zhǔn)呛筒试莆募窒淼囊环N形式,某用戶生成了URL 外鏈,其他用戶可以通過訪問鏈接,查看或者轉(zhuǎn)存該文件至自己的和彩云空間。跨用戶節(jié)點(diǎn)轉(zhuǎn)存外鏈文件時(shí),需要把文件元數(shù)據(jù)(文件名、文件ID、文件目錄樹型結(jié)構(gòu)等)從一個(gè)用戶節(jié)點(diǎn)批量復(fù)制到另外一個(gè)用戶節(jié)點(diǎn),但物理文件共用一份。

4 結(jié)束語

如上所述,為確定用戶歸屬,引入了調(diào)度節(jié)點(diǎn),調(diào)度節(jié)點(diǎn)功能相對(duì)簡單,且為12 臺(tái)服務(wù)器組成的一個(gè)集群,本身具備較強(qiáng)的容災(zāi)能力,但依然存在單點(diǎn)故障,因此如何解決調(diào)度節(jié)點(diǎn)的單點(diǎn)故障,是下一步需要解決的問題。

廣州用戶節(jié)點(diǎn)出故障后,雖然呼和浩特用戶依然可以正常使用業(yè)務(wù),但南方用戶將無法使用業(yè)務(wù),如何做到廣州用戶節(jié)點(diǎn)與呼和浩特用戶節(jié)點(diǎn)雙活,一個(gè)節(jié)點(diǎn)出故障后,將無縫切換到另一個(gè)節(jié)點(diǎn),是另外一個(gè)需要解決的有較高難度的問題。

猜你喜歡
路由表彩云呼和浩特
彩云之南
王彩云美術(shù)作品
呼和浩特之旅
一路彩云奔小康
當(dāng)時(shí)明月在,曾照彩云歸
一種無線自組網(wǎng)通信協(xié)議設(shè)計(jì)
最近的草原休閑游
IP 路由技術(shù)與RIP 協(xié)議探析