我们正在尝试在两个 TiDB 集群之间创建 Master-Master 复制。每个集群有 3 台 PD 服务器、4 台 KV 服务器和 2 台 TiDB 服务器。TiDB 在启用 binlog 的情况下运行。在 TiDB 服务器上,我们还安装了 pump。现在我们开始安装排水器,我们看到以下问题:
- 如果我们在配置为将数据同步到远程 TiDB 集群的同一 TiDB 服务器上部署多个 Drainer - 我们会在远程 TiDB 中获得重复的条目。每个 drainer 分别发送插入,因此对于源集群上的每个插入记录,我们在目标集群上获得 2 条记录
- 如果我们在专门为其分配的单独服务器上部署单个排水器,我们将创建单点故障。如果此服务器出现问题 - 数据将不会同步。此外,我们找不到任何有关泵组设计的信息。众所周知,pump 将所有事务保存为 gc 天,并且可以设置的最小值为 1 天。
- 如果我们有 2 个 TiDB 服务器并且每个都在运行 pump - 每个 pump 是否保存相同的完整数据?还是分片?如果分片,它有副本吗?如果我们丢失了一台 TiDB 服务器(上面运行了 pump)——我们会丢失部分 pump 数据吗?