写点什么

TiProxy 问题解答 & 未来规划

  • 2024-04-12
    北京
  • 本文字数:1436 字

    阅读完需:约 5 分钟

作者: djshow832-PingCAP 原文来源:https://tidb.net/blog/153686a4


大家好,我是 TiProxy 团队的研发,非常开心看到大家喜欢 TiProxy。我们读了每一条对 TiProxy 的评价,决定在这里解答大家的疑问。


TiProxy 刚 GA,有人用吗?稳定吗?


  • TiProxy 从 2023.1 开始上线 TiDB Serverless,你在 TiDB Serverless 上运行的每一条 SQL,都经过了 TiProxy 的处理;TiDB Serverless 的每一次 TiDB Pod 调度、扩缩容、升级,都用了 TiProxy 的连接迁移。参考博客 Maintaining Database Connectivity in Serverless Infrastructure with TiProxy.

  • TiProxy 在 2023.4 开始上线 TiDB Dedicated,经历了商业客户在生产环境的考验,连接保持和负载均衡都有很多成功案例。

  • TiProxy 的初衷是适应云上 TiDB 的弹性伸缩、快速迭代,但后来我们看到了云下用户有同样的诉求,才开始集成生态工具,而 TiProxy 的基本功能与云上相同。


TiProxy 在 TiDB DMR 版本里声明 GA,那能用于生产环境吗?


  • TiProxy 是独立发布的,TiProxy v1.0.0 是 GA 版本,可用于生产环境。

  • TiProxy 不一定要与 TiDB v8.0.0 配合使用,可以与 TiDB v6.5.0 及以上的任意 LTS 版本配合使用。


TiProxy 能替换 HAProxy 吗?


  • 需要权衡功能与性能,如果你认为 TiProxy 的功能更重要,那就替换 HAProxy。一个参考:TiDB Cloud 上 TiProxy 不能替换 NLB,相当于在链路上额外增加一个组件,会增加延迟、实例成本、跨可用区流量成本,但也有客户愿意使用。相比而言,替换 HAProxy 的代价低很多,所以我们相信肯定有场景。

  • 如果你用 VIP 的方式实现 TiProxy 的高可用,仍然需要手动部署 keepalived,TiUP 没有集成 keepalived。


为什么 TiProxy 的性能低于 HAProxy?


  • HAProxy 是 L4 层代理,不用解析 MySQL 包;TiProxy 是 L7 层代理,连接迁移需要解析 MySQL 包。L4 层代理已经有很多产品,而 L7 层代理可以做更多事。

  • TiProxy 的网络架构还是简单的 goroutine-per-connection 模型,goroutine 的切换有较多开销。


TiProxy 未来有什么规划?


TiProxy 的想象空间巨大,下面是我们当前的规划(规划随时可能调整,以下时间只是预估,不是承诺):


  • 高可用 & 业务连续性

  • (半年内)更全面的 TiDB 健康检查,例如当 TiDB 连不上 PD 或 TiKV 时,也能迁移走连接,快速恢复业务

  • (半年内)当 TiDB 有 OOM 风险时,迅速迁移走连接,降低对业务的影响;大 SQL 通常执行到 OOM,迁移不走

  • (远期)当 TiDB 意外下线(而非规划内的运维操作)时,也能保持连接

  • (远期)TiUP 集成 keepalived,在小规模集群上轻松实现 TiProxy 的高可用

  • (远期)TiProxy 的功能插件化,可随时在线扩展或更新功能

  • 性能 & 成本

  • (半年内)TiProxy 路由到本地 TiDB,主要用于降低云上的跨可用区流量费,也可用于跨机房部署、TiProxy 与 TiDB 混合部署时降低网络延迟

  • (半年内)基于 TiDB CPU 使用率(而非连接数)的负载均衡,当不同连接上的工作负载差异较大时也能充分利用 TiDB 资源

  • (远期)优化网络模型,提升吞吐量

  • 稳定性

  • (一年内)配置各租户的 TiDB 实例配额,实现计算层实例级别的资源隔离,与存储层的资源隔离(Resource Control 或 Placement Rules)组成一套完整的多租户方案

  • (远期)记录流量,把流量回放到新 TiDB 集群,验证新 TiDB 版本的兼容性,升级无忧

  • (远期)在 TiDB 高负载时限流,避免打挂 TiDB 或造成服务级别下降

  • 安全性

  • (一年内)支持基于证书的认证,与 TiDB 兼容


如果你有什么建议或脑洞,也欢迎留言或在 https://github.com/pingcap/tiproxy 提 issue!


最后,请保持耐心,保持期待!


发布于: 刚刚阅读数: 2
用户头像

TiDB 社区官网:https://tidb.net/ 2021-12-15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
TiProxy 问题解答 & 未来规划_新版本/特性发布_TiDB 社区干货传送门_InfoQ写作社区