· 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。
本文来源:不详 作者:佚名