Windows Azure Storage設(shè)計原理,微軟azure存儲架構(gòu)-ESG跨境

Windows Azure Storage設(shè)計原理,微軟azure存儲架構(gòu)

來源網(wǎng)絡(luò)
來源網(wǎng)絡(luò)
2022-07-05
點贊icon 0
查看icon 884

Windows Azure Storage設(shè)計原理,微軟azure存儲架構(gòu)Windows Azure Storage設(shè)計原理Windows Azure Storage(WAS)是微軟提供的云存儲服務(wù)。WAS設(shè)計的主要目標強一致性,號稱CAP都能滿足提供全球統(tǒng)一的存儲服務(wù)提供完善的異地容災(zāi)支持WAS的名字空間WAS提供三......

Windows Azure Storage設(shè)計原理,微軟azure存儲架構(gòu)




Windows Azure Storage設(shè)計原理

Windows Azure Storage(WAS)是微軟提供的云存儲服務(wù)。

WAS設(shè)計的主要目標

強一致性,號稱CAP都能滿足

提供全球統(tǒng)一的存儲服務(wù)

提供完善的異地容災(zāi)支持

WAS的名字空間

WAS提供三種存儲抽象,分別是表格(Table)、消息隊列(Queue)、文件(Blob),WAS存儲的每個對象(表格里的一行、隊列里的一條消息、一個文件)都對應(yīng)一個全局唯一的資源URI,其中AccountName為用戶賬戶,service為存儲服務(wù)類型(table、queue、blob中的一種)。

http(s)://https://AccountName.1.core.windows.net/PartitionName/ObjectName

對于Table,PartitionName為表名,ObjectName為表內(nèi)行的primary key

對于Queue,PartitioinName為隊列名字,ObjectName為隊列里消息的id

對于Blob,ObjectName為文件名,PartitionName與ObjectName相同

WAS總體架構(gòu)

WAS借助DNS服務(wù)來實現(xiàn)全局存儲服務(wù),Location Service負責(zé)管理用戶的賬戶信息,當用戶注冊了一個WAS賬戶后,Location Service會為用戶分配一或多個stamp來提供存儲服務(wù),同時更新DNS里的記錄,將https://AccountName.1.core.windows.net解析到stamp對應(yīng)的訪問入口。

WAS里stamp類似于集群的概念,請看下圖,MS在全球有多個機房,每個機房會部署多個WAS存儲集群(stamp),stamp內(nèi)部通過副本機制來保證數(shù)據(jù)安全性,stamp間會有數(shù)據(jù)備份機制,用于異地容災(zāi),比如stamp001在美國、歐洲、亞洲的機房各有一份數(shù)據(jù),任意一個機房故障,都能從其他機房的對等stamp里讀到用戶數(shù)據(jù)。

一個stamp典型的規(guī)模,1020個機架,每個機架18個存儲節(jié)點,約提供2PB的存儲空間;下一代WAS,每個stamp將提供30PB的存儲空間(猜想主要是單塊盤存儲空間增加)。

Stamp內(nèi)部架構(gòu)

單個stamp內(nèi)部,主要分為三個層次

Stream Layer:提供可靠的文件存儲(類比GFS)

Partion Layer:提供Table、Queue、Blob存儲的邏輯抽象,實際數(shù)據(jù)存儲依賴Stream Layer(類比bigtable)

Front End:存儲資源訪問代理,接受用戶的請求,通過Partition Layer獲取到數(shù)據(jù),返回給用戶

Stream Layer設(shè)計

Stream Layer可以理解為提供可靠存儲的分布式文件系統(tǒng),提供層次性的命名空間,如下圖,Stream Layer存儲的Foo文件。

Foo文件由多個extent組成(類似GFS里的block的概念,但非定長,每個extent存儲時對應(yīng)一個NTFS文件),extent由多個block組成。extent創(chuàng)建時,會對應(yīng)多個副本,客戶端可以不斷以block為單位(1或多個block)向extent追加數(shù)據(jù),每個block會計算一份校驗信息用于檢查數(shù)據(jù)完整性,每次從extent讀取數(shù)據(jù)時,都需要讀取整個block的數(shù)據(jù)來校驗數(shù)據(jù)完整性;每個extent還對應(yīng)一個index文件,用于映射[extent,offset]到block。(partition layer來說,它會維護每個對象存儲在stream layer的[文件,extent,offset]作為對象的位置索引信息。)

Stream Layer主要包含Stream Manager(SM,相當于元數(shù)據(jù)服務(wù)器)和Extent Node(EN,相當于存儲節(jié)點)。

SM的主要職責(zé):

維護名字空間以及所有文件及extent的狀態(tài)

管理所有EN的運行狀態(tài)

為EN創(chuàng)建和分配extent

當有EN宕機時,復(fù)制缺少副本的extent

對只讀的extent進行earsure code編碼

extent一旦創(chuàng)建,便不可更改,只能追加數(shù)據(jù),當extent到達一定長度時,客戶端(Partition Layer)可以將extent封裝(seal)起來,封裝后的extent不能再被更新,如果文件要繼續(xù)追加數(shù)據(jù),客戶端可以向SM請求創(chuàng)建新的extent,然后往新的extent里追加數(shù)據(jù),在SM看來,文件就是由多個extent順序連接而成。

extent的多個副本中,有一個是master,其它的副本是slave,每次針對extent的追加操作,客戶端都會將請求發(fā)快遞至master,由master完成整個追加過程,master負責(zé)對所有的追加操作進行排序,然后決定追加操作在extent上的偏移(offset信息),同時請求多個slave在同樣的offset上往extent追加數(shù)據(jù),當所有副本都追加成功時,才認為追加操作成功。

如果在追加的過程種出現(xiàn)錯誤(只有部分副本追加成功),Stream Layer與客戶端(Partition Layer)的約定是,客戶端進行重試或是封裝當前extent(以多個副本中extent的commit length最小的為準,commit length表示當前extent追加了多少數(shù)據(jù)),創(chuàng)建新的extent來追加數(shù)據(jù)。這個約定也意味著,同一個條記錄可能在extent上追加多次,這就要求上層業(yè)務(wù)能夠處理這種重復(fù)的記錄。

Stream Layer的一些優(yōu)化:

對封裝后的extent(只讀)進行earsure code編碼,用于節(jié)省存儲空間。

接收到讀請求時,如果當前EN有很多請求在排隊,或是有請求排隊超過一定時間,則直接拒絕服務(wù),讓客戶端重試其它副本

每個EN使用一塊單獨的盤(通常是ssd)做日志盤(cache),當EN執(zhí)行追加操作時,會將請求的數(shù)據(jù)先追加到日志盤,同時寫到EN上的數(shù)據(jù)盤(不刷盤,等待OS后臺刷盤)。

Partition Layer設(shè)計

Partition Layer在Stream Layter的基礎(chǔ)上抽象出Table、Queue存儲邏輯,主要由Partition Manager(PM)和Partition Server(PS)組成,PM是管理節(jié)點,負責(zé)維護一個全局的試圖,而實際的讀寫操作都由PS完成。

為了方便描述,這里以存儲Table為例說明。為了向用戶提供表格的語義,在Partition layer會有一個有序的大表,存儲所有用戶的所有數(shù)據(jù),每一行對應(yīng)用戶存儲的一條表記錄,考慮這張表非常大,單個server不可能服務(wù)過來,這張表被劃分成很多個Range,然后均分到多個PS上,而PM維護一張Range==gt;PS的映射表,F(xiàn)ront End接受到用戶請求時,會先從PM拿到映射表,然后將請求定向至負責(zé)對應(yīng)range的PS上,F(xiàn)ront End拿到映射表后會緩存在本地,并在映射表變化時更新。

每個PS會負責(zé)多個Range的數(shù)據(jù),PS實際不存儲數(shù)據(jù),數(shù)據(jù)存儲是由底層的Stream Layer完成,每個Range包含一個用于存儲操作日志的Commit Log文件和一個存儲行數(shù)據(jù)的Row Data文件;同時Range被加載后,還會產(chǎn)生一些內(nèi)存的數(shù)據(jù)結(jié)構(gòu)。

Memory Table:內(nèi)存表,記錄對于該range的每一次更新。

Index Cache:表索引的緩存,索引每行數(shù)據(jù)在Row Data文件里的偏移位置。

Row Data Cache:行緩存,緩存行數(shù)據(jù),與Index Cache分離的原因主要是盡量讓所有Index的數(shù)據(jù)都能加載到內(nèi)存。

當有新的行要寫到某個Range時,首先會將行數(shù)據(jù)追加到Commit Log里,然后將行數(shù)據(jù)寫到Memory Table,這時就可以向客戶端(Front End)返回寫成功。當Memory Table使用的內(nèi)存超出閾值時,會做一次checkpoint操作,將Memory Table里的數(shù)據(jù)寫至Row Data文件。

當Range里的數(shù)據(jù)太多時,會導(dǎo)致負責(zé)該Range的PS負載很高,這時PM可以將一些大的Range進行分裂,就部分Range交由負載較低的PS負責(zé)(PS本身不持久化數(shù)據(jù),PS只需要加載Range對應(yīng)的元數(shù)據(jù)即可服務(wù)針對該Range的請求);相反,當某些Range由于數(shù)據(jù)刪除導(dǎo)致數(shù)據(jù)很少時,PM可以將相鄰的Range進行合并;最終使得各個PS的負載盡量均衡。


文章推薦
Wish選品及標簽關(guān)鍵詞查詢工具大全,wish店鋪沒訂單6招讓流量暴增
Wish上什么產(chǎn)品會被視作偽造品或仿品,wish店鋪沒訂單6招讓流量暴增
YouTube才是視頻營銷的王道,youtube營銷
Vimeo借助即時應(yīng)用程序?qū)挸掷m(xù)時間增加了130%,vimeo的日歷


特別聲明:以上文章內(nèi)容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關(guān)于作品內(nèi)容、版權(quán)或其它問題請于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。

搜索 放大鏡
韓國平臺交流群
加入
韓國平臺交流群
掃碼進群
歐洲多平臺交流群
加入
歐洲多平臺交流群
掃碼進群
美國賣家交流群
加入
美國賣家交流群
掃碼進群
ESG跨境專屬福利分享群
加入
ESG跨境專屬福利分享群
掃碼進群
拉美電商交流群
加入
拉美電商交流群
掃碼進群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進群
拉美電商交流群
加入
拉美電商交流群
掃碼進群
ESG獨家招商-PHH GROUP賣家交流群
加入
ESG獨家招商-PHH GROUP賣家交流群
掃碼進群
《TikTok官方運營干貨合集》
《TikTok綜合運營手冊》
《TikTok短視頻運營手冊》
《TikTok直播運營手冊》
《TikTok全球趨勢報告》
《韓國節(jié)日營銷指南》
《開店大全-全球合集》
《開店大全-主流平臺篇》
《開店大全-東南亞篇》
《CD平臺自注冊指南》
通過ESG入駐平臺,您將解鎖
綠色通道,更高的入駐成功率
專業(yè)1v1客戶經(jīng)理服務(wù)
運營實操指導(dǎo)
運營提效資源福利
平臺官方專屬優(yōu)惠

立即登記,定期獲得更多資訊

訂閱
聯(lián)系顧問

平臺顧問

平臺顧問 平臺顧問

微信掃一掃
馬上聯(lián)系在線顧問

icon icon

小程序

微信小程序

ESG跨境小程序
手機入駐更便捷

icon icon

返回頂部

【免費領(lǐng)取】全球跨境電商運營干貨 關(guān)閉
進行中
進行中
【活動報名】2024年歐洲多藍海平臺招商沙龍
官方親臨,拆解phh group/eMAG/worten三個平臺商機
立即報名
進行中
進行中
TikTok運營必備干貨包
包含8個TikTok最新運營指南(市場趨勢、運營手冊、節(jié)日攻略等),官方出品,專業(yè)全面!
免費領(lǐng)取
進行中
進行中
韓國電商節(jié)日營銷指南
10+韓國電商重要營銷節(jié)點詳細解讀;2024各節(jié)日熱度選品助力引爆訂單增長;8大節(jié)日營銷技巧輕松撬動大促流量密碼。
免費領(lǐng)取
進行中
進行中
全球平臺詳解——全球合集
涵括全球100+個電商平臺的核心信息,包括平臺精煉簡介、競爭優(yōu)勢、熱銷品類、入駐要求以及入駐須知等關(guān)鍵內(nèi)容。
立即領(lǐng)取
進行中
進行中
全球平臺詳解——主流平臺篇
火爆全球的跨境電商平臺合集,平臺優(yōu)勢、開店選品、入駐條件盡在掌握
立即領(lǐng)取
進行中
進行中
全球平臺詳解——拉美篇
涵蓋9大熱門拉美電商平臺,成熟的市場是跨境賣家的熱門選擇!
立即領(lǐng)取
進行中
進行中
全球平臺詳解——日韓篇
涵蓋10+日韓電商平臺,入駐條件一看就懂,優(yōu)勢熱銷品應(yīng)有盡有
立即領(lǐng)取
進行中
進行中
全球平臺詳解——歐洲篇
涵蓋20+歐洲電商平臺,詳細解讀優(yōu)勢、入駐條件、熱銷品等
立即領(lǐng)取