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。 编辑:北京信诚www.xcitbm.com>IT保姆www.xcitbm.com>IT外包部 http:// www.xcitbm.com www.xcit.com.cn |