目前有如下几个集群级别的应用场景都可以使用 locality 变更完成:
集群副本数升级:以tenant为粒度,对集群中的每一个tenant,增加tenant下partition的副本数,例如:将locality由F@z1,F@z2,F@z3变更为F@z1,F@z2,F@z3,F@z4,tenant从3副本变为4副本。
集群副本数降级:以tenant为粒度,对集群内的每一个tenant,减少tenant下partition的副本数,例如:将locality由F@z1,F@z2,F@z3,F@z4,F@z5变更为F@z1,F@z2,F@z3,F@z4,进而将tenant从5副本变为4副本。
集群搬迁:以tenant为粒度,对集群内的每一个tenant,通过若干次locality变更,将locality从F@hz1,F@hz2,F@hz3变更为F@hz1,F@sh1,F@sh2,即将原集群中属于杭州的两个zone迁到上海。
除了上述几个集群级别应用场景外,locality变更可以精确到tenant粒度,即tenant级别副本数的升降级、搬迁和副本类型转换等。