RangePartition Load Balancing(负载均衡)
Partition Layer很关键的一部分功能是,将很大massive的Object Tables分割成多个RangePartition,并且根据partition server的请求和负载进行自动的负载均衡分配。
PM (Partition Manager) 会执行如下三个操作将负载合理分配到不同的partition server上,以及控制在一个stamp里的partition的总数。
- Load Balance: 负载均衡,即当某个PS(Partition Server)的负载过高时,则会将一个或者多个RangePartition重新assign到其他的Partition Server上
- Split: 分裂,当某个RangePartition上的负载过高,则会将该RangePartition分裂成两个或者多个不相交的RangePartition,并通过Load Balance的操作将RangePartition分配到不同的Partition Server上。
- Merge: 合并,该操作会将冷的数据,以及负载较轻的在OT(Object Table)上具有连续的Key的RangePartition合并到一起。Merge操作用来保持在一个stamp中partition server总是维持在一定的合理数量。
Partition Layer Inter-Stamp Replication
至今我们已经讨论了关于AccountName根据DNS将请求路由到不同的storage stamp上。对于一个Storage Account有多个stamp,以主备模式存在,即一个primary stamp多个secondary stamp。primary stamp以及secondary stamp的信息会告诉WAS去执行inter-stamp replication。即将主的stamp