TiProxy 问题解答 & 未来规划

受教了,让 TiProxy 自己管理 VIP 确实更好。
不过我想调整一下,把 raft 选举改为在 PD 上的 etcd 选主,因为 TiDB 的正常运行都是依赖于 PD 的。在网络分区的情况下,etcd 选主总能选到和 PD leader 在同一个分区的 TiProxy,也就能路由到正常的 TiDB;而 raft 可能会路由到另一个分区,导致集群完全不可用。

另外我在想,也许让用户选择 primary 偏好,或者像 keepalived 一样配置权重能适应更多场景:

  • 因为只有一台 primary 实例,它的硬件配置可能需要很高。用户为了省成本,可能想要 primary 32C,standby 16C。只要 32C 的实例活着,那总应该让 32C 的实例做 primary。
  • 用户有两个机房,但为了省成本,小集群只用软负载。为了高可用,TiProxy 在两个机房各配一个,但想要与应用同机房的 TiProxy 优先成为 primary。

我对业务理解不深,有错误还请多指教哈。

2 个赞