Windows Azure存儲的一個重要概念是分區(qū),每個數(shù)據(jù)對象(Blob,Table實體,Queue消息)都有一個分區(qū)鍵,我們訪問這些對象時就要使用分區(qū)鍵進(jìn)行定位,跨服務(wù)器進(jìn)行負(fù)載均衡和對對象分區(qū)時也會用到它,下面是Blob,Table實體和Queue消息用到的分區(qū)鍵: · Blob分區(qū)鍵 – 容器名+Blob名 · Table實體分區(qū)鍵 – Table名+ PartitionKey · Queue消息分區(qū)鍵 – Queue名 系統(tǒng)會跨多個服務(wù)器基于這些分區(qū)鍵對數(shù)據(jù)對象實施負(fù)載均衡,所有分區(qū)鍵值相同的對象組合到一個分區(qū)中,訪問時通過相同的分區(qū)服務(wù)器訪問,將對象組合到分區(qū)后,由于這些訪問都在同一臺服務(wù)器上,我們可以對同一分區(qū)上的對象執(zhí)行原子操作。 有了分區(qū)鍵后,對Blob,Table實體和Queue消息意味著什么。 · Blob – 因為分區(qū)鍵包含了Blob的名字,我們可以在多臺服務(wù)器之間均衡訪問多個不同的Blob,可以很方便地實現(xiàn)向外擴展,可以讓容器根據(jù)需要不斷增長(當(dāng)然要受存儲賬號最大容量的限制),代價是不能跨多個Blob執(zhí)行原子操作。 · Table實體 – 每個Table都為它下面的各個實體定義了分區(qū)鍵( PartitionKey ),這意味著我們可以跨分區(qū)鍵邊界的多個服務(wù)器在一個Table內(nèi)對實體實施負(fù)載均衡(實體有不同的 PartitionKey 值),對于同一分區(qū)中的實體(它們的 PartitionKey 值相同),我們可以讓應(yīng)用程序執(zhí)行原子級批處理事務(wù),因為它們都來自同一服務(wù)器的服務(wù)。 Queue消息 – 因為分區(qū)鍵就是Queue名,對于給定Queue中的所有消息,都是由一個分區(qū)服務(wù)器處理的,不同的Queue可以由不同的服務(wù)器處理,以便將負(fù)載分散到存儲賬號下的不同Queue。
編輯:北京信誠IT保姆IT外包部 http:// www.aboverow.cn www.xcit.com.cn |