tikv节点扩缩容问题

假设tikv部署在abc三台机器上,对于以下操作是否有防护机制保证数据一致性和可用性呢?

  1. 扩容de节点, 由于网络分区或者其他原因, dec形成多数派, 出现脑裂
  2. 缩容ab节点, 节点不满足多数, 无法对外服务

可否详细说一下

TiKV 多个节点和 Region 的多个 Raft 副本是两个概念。Region 的多副本默认是 3 个。

  1. 扩容 TiKV 节点跟网络分区形成脑裂之间没有关系。扩容 TiKV 节点,PD 会均衡调度 Region 的副本到新节点上。网络分区脑裂的问题是由 Raft 算法解决的,简单来说,如果有新的多数派存在,有新产生的 Leader,对于旧的 Leader 来说,它不能提供任何服务,所以不会产生影响。
  2. 对于 TiKV 3 节点,Region 3 副本来说,是不能缩容的,所以不用担心无法对外服务的问题。