放荡的闷骚娇妻hnp_三级黄色影院_美女久久久久久_狠狠艹视频

Windows Azure Storage設計原理,微軟azure存儲架構-ESG跨境

Windows Azure Storage設計原理,微軟azure存儲架構

來源網絡
來源網絡
2022-07-05
點贊icon 0
查看icon 914

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

Windows Azure Storage設計原理,微軟azure存儲架構




Windows Azure Storage設計原理

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

WAS設計的主要目標

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

提供全球統一的存儲服務

提供完善的異地容災支持

WAS的名字空間

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

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

對于Table,PartitionName為表名,ObjectName為表內行的primary key

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

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

WAS總體架構

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

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

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

Stamp內部架構

單個stamp內部,主要分為三個層次

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

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

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

Stream Layer設計

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

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

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

SM的主要職責:

維護名字空間以及所有文件及extent的狀態

管理所有EN的運行狀態

為EN創建和分配extent

當有EN宕機時,復制缺少副本的extent

對只讀的extent進行earsure code編碼

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

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

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

Stream Layer的一些優化:

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

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

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

Partition Layer設計

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

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

每個PS會負責多個Range的數據,PS實際不存儲數據,數據存儲是由底層的Stream Layer完成,每個Range包含一個用于存儲操作日志的Commit Log文件和一個存儲行數據的Row Data文件;同時Range被加載后,還會產生一些內存的數據結構。

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

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

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

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

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


文章推薦
Wish選品及標簽關鍵詞查詢工具大全,wish店鋪沒訂單6招讓流量暴增
Wish上什么產品會被視作偽造品或仿品,wish店鋪沒訂單6招讓流量暴增
YouTube才是視頻營銷的王道,youtube營銷
Vimeo借助即時應用程序將會話持續時間增加了130%,vimeo的日歷


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

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

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

訂閱
聯系顧問

平臺顧問

平臺顧問 平臺顧問

微信掃一掃
馬上聯系在線顧問

icon icon

小程序

微信小程序

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

icon icon

返回頂部