图1:
假如三个zone
zone1的 总控服务 RS为主,zone2 和 zone3的RS为从。
我理解主副本数据存储在zone1 ,从副本数据存储在 zone2 和zone3
图2:
但是分区组成paxos协议组。 一个表p1-p8分区组成。
并不是按照图1的逻辑zone1存储都都是主副本。
zone1和zonge3 也存储了。p1-p8是打散存储
问:RS主从和分区主从的区别?
图片:
图片地址https://sm.ms/image/qFRZYdDOSz3svIX
图1:
假如三个zone
zone1的 总控服务 RS为主,zone2 和 zone3的RS为从。
我理解主副本数据存储在zone1 ,从副本数据存储在 zone2 和zone3
图2:
但是分区组成paxos协议组。 一个表p1-p8分区组成。
并不是按照图1的逻辑zone1存储都都是主副本。
zone1和zonge3 也存储了。p1-p8是打散存储
问:RS主从和分区主从的区别?
图片:
图片地址https://sm.ms/image/qFRZYdDOSz3svIX
如果每个租户的primaryzone都是 zone1,那么就可以说 zone1 是主节点。那么这个集群里所有租户(实例)的数据的主副本都在 zone1 的机器里。sys租户不打散的情况 1:1:1 三个zone 的集群 RS总控服务主副本 是在allcoretable 主副本所在节点,另外两台则为备副本,sys 租户打散的情况,RS总控服务主副本 依然是在 allcoretable 主副本所在节点,可通过 select * from __all_server with_root_server 字段是否为 1 查看
allcoretable 主备副本分布 可通过 root@sys 租户下 allvirtualcoremetatable 查看,其余分区主备副本可 参考表 allvirtualpartitioninfo
rs 服务是在 内部实例 sys 里的。 sys 实例会指定 primary_zone 。比如说你举例里的 zone1 。
业务实例是可以独立的设置primaryzone,比如说设置为RANDOM(打散到所有租户),那么业务实例里数据的主副本就会分散到所有zone。这里要注意,每个zone都有一份全量的业务数据。primaryzone 是控制主副本的位置分布。