尤物精品_gay小说高h_成人免费va视频_涩涩18网站

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

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

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

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

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




Windows Azure Storage設(shè)計(jì)原理

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

WAS設(shè)計(jì)的主要目標(biāo)

強(qiáng)一致性,號(hào)稱CAP都能滿足

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

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

WAS的名字空間

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

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

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

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

對(duì)于Blob,ObjectName為文件名,PartitionName與ObjectName相同

WAS總體架構(gòu)

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

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

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

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

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

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

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

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

Stream Layer設(shè)計(jì)

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

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

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

SM的主要職責(zé):

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

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

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

當(dāng)有EN宕機(jī)時(shí),復(fù)制缺少副本的extent

對(duì)只讀的extent進(jìn)行earsure code編碼

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

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

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

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

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

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

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

Partition Layer設(shè)計(jì)

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

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

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

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

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

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

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

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


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


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

搜索 放大鏡
韓國(guó)平臺(tái)交流群
加入
韓國(guó)平臺(tái)交流群
掃碼進(jìn)群
歐洲多平臺(tái)交流群
加入
歐洲多平臺(tái)交流群
掃碼進(jìn)群
美國(guó)賣家交流群
加入
美國(guó)賣家交流群
掃碼進(jìn)群
ESG跨境專屬福利分享群
加入
ESG跨境專屬福利分享群
掃碼進(jìn)群
拉美電商交流群
加入
拉美電商交流群
掃碼進(jìn)群
亞馬遜跨境增長(zhǎng)交流群
加入
亞馬遜跨境增長(zhǎng)交流群
掃碼進(jìn)群
亞馬遜跨境增長(zhǎng)交流群
加入
亞馬遜跨境增長(zhǎng)交流群
掃碼進(jìn)群
拉美電商交流群
加入
拉美電商交流群
掃碼進(jìn)群
ESG獨(dú)家招商-PHH GROUP賣家交流群
加入
ESG獨(dú)家招商-PHH GROUP賣家交流群
掃碼進(jìn)群
2025跨境電商營(yíng)銷日歷
《2024年全球消費(fèi)趨勢(shì)白皮書——美國(guó)篇》
《2024TikTok出海達(dá)人營(yíng)銷白皮書》
《Coupang自注冊(cè)指南》
《eMAG知識(shí)百科》
《TikTok官方運(yùn)營(yíng)干貨合集》
《韓國(guó)節(jié)日營(yíng)銷指南》
《開店大全-全球合集》
《TikTok綜合運(yùn)營(yíng)手冊(cè)》
《TikTok短視頻運(yùn)營(yíng)手冊(cè)》
通過ESG入駐平臺(tái),您將解鎖
綠色通道,更高的入駐成功率
專業(yè)1v1客戶經(jīng)理服務(wù)
運(yùn)營(yíng)實(shí)操指導(dǎo)
運(yùn)營(yíng)提效資源福利
平臺(tái)官方專屬優(yōu)惠

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

訂閱
聯(lián)系顧問

平臺(tái)顧問

平臺(tái)顧問 平臺(tái)顧問

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

icon icon

小程序

微信小程序

ESG跨境小程序
手機(jī)入駐更便捷

icon icon

返回頂部

【免費(fèi)領(lǐng)取】全球跨境電商運(yùn)營(yíng)干貨 關(guān)閉
進(jìn)行中
進(jìn)行中
2025跨境電商營(yíng)銷日歷
包括傳統(tǒng)中、外重要節(jié)日及重點(diǎn)電商營(yíng)銷節(jié)點(diǎn)還對(duì)營(yíng)銷關(guān)鍵市場(chǎng)、選品輔以說明,讓你的365天安排的明明白白!
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
【平臺(tái)干貨】eMAG知識(shí)百科
涵蓋從開店到大賣6個(gè)板塊:開店、運(yùn)營(yíng)、廣告、選品、上架、物流
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
TikTok運(yùn)營(yíng)必備干貨包
包含8個(gè)TikTok最新運(yùn)營(yíng)指南(市場(chǎng)趨勢(shì)、運(yùn)營(yíng)手冊(cè)、節(jié)日攻略等),官方出品,專業(yè)全面!
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
韓國(guó)coupang平臺(tái)自注冊(cè)指南
韓國(guó)Coupang電商平臺(tái)從注冊(cè)準(zhǔn)備、提交申請(qǐng)到完成注冊(cè),開店全流程詳細(xì)指引。
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——全球合集
涵括全球100+個(gè)電商平臺(tái)的核心信息,包括平臺(tái)精煉簡(jiǎn)介、競(jìng)爭(zhēng)優(yōu)勢(shì)、熱銷品類、入駐要求以及入駐須知等關(guān)鍵內(nèi)容。
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
韓國(guó)電商節(jié)日營(yíng)銷指南
10+韓國(guó)電商重要營(yíng)銷節(jié)點(diǎn)詳細(xì)解讀;2024各節(jié)日熱度選品助力引爆訂單增長(zhǎng);8大節(jié)日營(yíng)銷技巧輕松撬動(dòng)大促流量密碼。
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——?dú)W洲篇
涵蓋20+歐洲電商平臺(tái),詳細(xì)解讀優(yōu)勢(shì)、入駐條件、熱銷品等
立即領(lǐng)取