• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

    [焦容]

    1 引言

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

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

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

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

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

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

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

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

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

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

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

    下面說(shuō)明用戶(hù)上傳文件的流程。

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

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

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

    從以上流程可以看出,因用戶(hù)節(jié)點(diǎn)與存儲(chǔ)節(jié)點(diǎn)都只有一個(gè),任何一個(gè)節(jié)點(diǎn)出現(xiàn)故障,都將導(dǎo)致用戶(hù)無(wú)法正常上傳下載,上傳下載是和彩云業(yè)務(wù)的核心流程。就是第一章所說(shuō)的單點(diǎn)故障。另外也存在前面提到的容量無(wú)法持續(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)了和彩云上傳下載流程,用戶(hù)節(jié)點(diǎn)存儲(chǔ)了一張路由表,將31 個(gè)省的地市區(qū)號(hào)按照距離遠(yuǎn)近分別歸屬到廣州和呼和浩特存儲(chǔ)節(jié)點(diǎn),然后按路由表將用戶(hù)路由到相應(yīng)的存儲(chǔ)節(jié)點(diǎn)進(jìn)行上傳下載操作。從和彩云系統(tǒng)導(dǎo)出的部分路由表如表1 所示。例如將河北用戶(hù)路由到呼和浩特存儲(chǔ)節(jié)點(diǎn)進(jìn)行上傳下載操作,而不是路由到廣州存儲(chǔ)節(jié)點(diǎn)。

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

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

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

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

    某存儲(chǔ)節(jié)點(diǎn)有多個(gè)不同類(lèi)型不同廠商的存儲(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)營(yíng)商配置。

    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)占的弧長(zhǎng)越大,文件被隨機(jī)分配到某個(gè)域的概率則越高。

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

    3.1.1.3 上傳下載流程

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

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

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

    呼和浩特存儲(chǔ)節(jié)點(diǎn)上線后,相比單存儲(chǔ)節(jié)點(diǎn)架構(gòu)北方用戶(hù)上傳速度提升了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)用戶(hù)歸屬哪個(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)。這樣用戶(hù)可以繼續(xù)正常上傳下載。例如如果廣州存儲(chǔ)節(jié)點(diǎn)出現(xiàn)故障,10 分鐘內(nèi)可以修改路由表并生效,南方用戶(hù)臨時(shí)歸屬呼和浩特存儲(chǔ)節(jié)點(diǎn),從而保障南方用戶(hù)正常使用業(yè)務(wù)。廣州存儲(chǔ)節(jié)點(diǎn)與呼和浩特存儲(chǔ)節(jié)點(diǎn)互為容災(zāi)。

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

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

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

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

    3.2.1 用戶(hù)調(diào)度

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

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

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

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

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

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

    4 結(jié)束語(yǔ)

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

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

    猜你喜歡
    路由表彩云呼和浩特
    彩云之南
    呼和浩特之旅
    一路彩云奔小康
    香格里拉(2021年2期)2021-07-28 06:50:48
    工商企業(yè)管理的知識(shí)與操作實(shí)例
    當(dāng)時(shí)明月在,曾照彩云歸
    海峽姐妹(2020年5期)2020-06-22 08:26:08
    基于OSPF特殊區(qū)域和LSA的教學(xué)設(shè)計(jì)與實(shí)踐
    彩云問(wèn)
    組播狀態(tài)異常導(dǎo)致故障
    呼和浩特
    草原歌聲(2017年4期)2017-04-28 08:20:43
    美麗的呼和浩特
    兴山县| 八宿县| 镇宁| 晋宁县| 石阡县| 苗栗县| 安阳县| 凌源市| 泰安市| 雅安市| 奈曼旗| 独山县| 孝义市| 黄冈市| 清原| 葫芦岛市| 峡江县| 尚义县| 上蔡县| 太白县| 高雄县| 石景山区| 嘉善县| 兰西县| 许昌县| 犍为县| 平利县| 塔城市| 西藏| 乌拉特后旗| 黄骅市| 襄汾县| 磴口县| 汪清县| 永嘉县| 青冈县| 绥宁县| 柘荣县| 乌拉特后旗| 汤阴县| 岳阳县|