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