隨著無(wú)人駕駛、機(jī)器人送餐等人工智能(AI)應(yīng)用逐漸進(jìn)入大眾生活,再加上資本熱潮的助推,AI的發(fā)展備受矚目。不過(guò),要真正實(shí)現(xiàn)AI從概念到落地,還必須具備足夠的數(shù)據(jù)、足夠的計(jì)算能力和足夠的行業(yè)應(yīng)用三個(gè)條件,而云計(jì)算恰好能滿足這些要求。
當(dāng)下,AI正與云計(jì)算進(jìn)行深度融合,未來(lái)會(huì)變得更加智能,但在智能化的背后是對(duì)海量數(shù)據(jù)存儲(chǔ)的剛性需求。據(jù)不完全統(tǒng)計(jì),單是一輛無(wú)人駕駛汽車每秒產(chǎn)生的數(shù)據(jù)容量就在1G左右,相當(dāng)于每秒發(fā)送20萬(wàn)封純文本電子郵件或上傳100張高清數(shù)碼照片。因此,沒(méi)有大容量和超穩(wěn)定的存儲(chǔ)系統(tǒng),這一切都將無(wú)從談起。無(wú)存儲(chǔ),不智能。為了更加清晰的了解云存儲(chǔ)技術(shù)的實(shí)現(xiàn)過(guò)程,UCloud存儲(chǔ)研發(fā)部將對(duì)云存儲(chǔ)——對(duì)象存儲(chǔ)(UFile)技術(shù)進(jìn)行深度解析。
對(duì)象存儲(chǔ)UFile概念
對(duì)象存儲(chǔ)(UFile)是為互聯(lián)網(wǎng)應(yīng)用提供非結(jié)構(gòu)化文件存儲(chǔ)的服務(wù);相對(duì)于傳統(tǒng)硬盤存儲(chǔ),UFile具有存儲(chǔ)無(wú)上限、支持高并發(fā)訪問(wèn)、成本更低等優(yōu)勢(shì);解決業(yè)務(wù)架構(gòu)的文件存儲(chǔ)問(wèn)題,有效降低海量文件的存儲(chǔ)成本,支持熱點(diǎn)數(shù)據(jù)的高并發(fā)訪問(wèn),提升終端用戶訪問(wèn)體驗(yàn)。
單地域UFile存儲(chǔ)架構(gòu)六大集群
ULB(UCloud Load Balancer) 實(shí)現(xiàn)外網(wǎng)的對(duì)接及接入層的負(fù)載均衡與容災(zāi)處理,該模塊通過(guò)定期向接入層模塊端口發(fā)送心跳以檢測(cè)接入層模塊的可用性,發(fā)現(xiàn)異常模塊及時(shí)進(jìn)行剔除;
接入層提供文件訪問(wèn)服務(wù),該模塊為無(wú)狀態(tài)設(shè)計(jì),因此可以平行擴(kuò)容及縮容;
索引層保存文件對(duì)象的元數(shù)據(jù)信息,包括對(duì)象名稱、對(duì)象大小、創(chuàng)建時(shí)間、存儲(chǔ)位置等;
存儲(chǔ)層是實(shí)際存儲(chǔ)文件數(shù)據(jù)的模塊集群,主要實(shí)現(xiàn)文件數(shù)據(jù)的多份分布及高可靠存儲(chǔ);
數(shù)據(jù)處理層主要實(shí)現(xiàn)UFile圖片及數(shù)據(jù)處理,包括圖片的實(shí)時(shí)裁剪、縮放、旋轉(zhuǎn)、水印、格式轉(zhuǎn)換、信息獲取等操作,客戶還可以使用自己的通用計(jì)算鏡像對(duì)數(shù)據(jù)進(jìn)行處理;
名字服務(wù)主要實(shí)現(xiàn)索引層及數(shù)據(jù)處理層模塊的容災(zāi)剔除,以上3個(gè)集群的模塊會(huì)定期在名字服務(wù)注冊(cè)自身服務(wù),當(dāng)其中有部分模塊因機(jī)器異?;蛘呔W(wǎng)絡(luò)中斷導(dǎo)致無(wú)法提供服務(wù)時(shí),名字服務(wù)會(huì)將該機(jī)器從名字中剔除,并且通知接入層,從而實(shí)現(xiàn)后臺(tái)模塊的容災(zāi)剔除。
重點(diǎn)設(shè)計(jì)解析
UFile索引層設(shè)計(jì)
UFile索引層為一套分布式KV存儲(chǔ)系統(tǒng),其主要目標(biāo)是保證UFile對(duì)象元數(shù)據(jù)的高性能、高可靠、高可用及可擴(kuò)展的存儲(chǔ),其主要分成兩層架構(gòu):
索引接入集群解決索引存儲(chǔ)集群的管理及元數(shù)據(jù)的分布,這一層模塊為無(wú)狀態(tài)設(shè)計(jì),通過(guò)名字服務(wù)實(shí)現(xiàn)異常狀態(tài)的容災(zāi)剔除;
索引存儲(chǔ)集群實(shí)現(xiàn)對(duì)象元數(shù)據(jù)的分布式存儲(chǔ),每個(gè)對(duì)象元數(shù)據(jù)將存儲(chǔ)3份,保證數(shù)據(jù)的可靠性及高可用性,同時(shí)對(duì)象存儲(chǔ)采用SSD(固態(tài)硬盤)作為存儲(chǔ)介質(zhì),也保證了元數(shù)據(jù)存儲(chǔ)的高并發(fā)低延時(shí)訪問(wèn)特性。另外,該模塊采用固定集群規(guī)模的方式進(jìn)行管理,每個(gè)集群支撐的存儲(chǔ)量、訪問(wèn)量固定,存儲(chǔ)可實(shí)現(xiàn)以集群為單位的水平擴(kuò)容,保障業(yè)務(wù)不斷增長(zhǎng)情況下的高性能穩(wěn)定訪問(wèn)支持。
UFile存儲(chǔ)層設(shè)計(jì)
存儲(chǔ)層包括三種類型模塊集群:
· 存儲(chǔ)節(jié)點(diǎn),該模塊按照固定大小的集群(稱為“Set”)進(jìn)行組織和管理,每個(gè)集群支撐的存儲(chǔ)量及訪問(wèn)量規(guī)格固定,同時(shí)該模塊可根據(jù)存儲(chǔ)量需求橫向進(jìn)行無(wú)限擴(kuò)展,從而滿足客戶無(wú)存儲(chǔ)量上限的數(shù)據(jù)存儲(chǔ)需求。每個(gè)對(duì)象數(shù)據(jù)在存儲(chǔ)層存儲(chǔ)三份數(shù)據(jù),通過(guò)對(duì)異常情況的及時(shí)處理和壞盤的及時(shí)修復(fù),保證數(shù)據(jù)極高的可靠性(99.99999999%);
· SetMaster,該模塊進(jìn)行Set狀態(tài)的管理,接入集群通過(guò)SetMaster決定上傳對(duì)象數(shù)據(jù)的存儲(chǔ)集群,并執(zhí)行數(shù)據(jù)的存儲(chǔ)操作;