在这一新版本中,Vitess 在多个方面进行了重大改进,包括可用性和可靠性:

  • 在线DDL功能已达到一般可用性(GA)
  • Gen4解析器成为默认解析器
  • VTAdmin和VTOrc在 Vitess 14 中正式进入 Beta 阶段

可用性改进

命令行语法废弃

此版本开启了 Vitess 标准化其命令行和标志语法的第一步。一些旧的语法已经被废弃,并且将在下一个版本中无法使用。详细信息及迁移说明请参考发布说明

VtctldServer 和客户端

新的 gRPC API——用于 vtctld 集群管理的 VtctldServer,可以正常使用了。在 Vitess 15 中,我们计划开始废弃旧接口,因此用户现在应该开始迁移。关于如何启用新服务,请参考 grpc-vtctld 文档

Vitess 14 还提供了与新 gRPC 接口对应的 vtctld 客户端(vtctldclient)。启用新服务后,用户即可使用新客户端执行集群管理命令。请参考客户端文档获取命令及选项列表。无论是 vtctldclient 还是旧版 vtctlclient,都提供了兼容机制以使用彼此的 CLI 语法,简化迁移过程,具体详见迁移文档。和旧版服务一样,我们计划在 Vitess 15 开始废弃 vtctlclient,建议用户尽早完成迁移。

VTAdmin

Vitess 14 包含 VTAdmin 的 Beta 版本,这是 Vitess 下一代集群管理 API 和 UIs。VTAdmin 提供了一个统一的控制面板来管理多个 Vitess 集群,并最终将取代旧版 VTCtld Web UI。我们计划在 Vitess 15 中使其达到 GA,因此鼓励用户尝试 VTAdmin 并在此版本周期内提供反馈。有关如何配置和运行 VTAdmin 的指南,请访问官网

请注意,VTAdmin 需要启用新的 grpc-vtctld 服务才能向您想管理的集群发起 RPC。因此,您需要使 vtctld 组件启用该服务功能。

对详细设计感兴趣的用户可以查阅原始架构文档并加入 Vitess Slack 的 #feat-vtadmin 频道。

GA 功能发布

在线DDL

Vitess 原生及基于 gh-ost 的在线DDL功能现已达到 GA(一般可用性)。pt-osc 功能仍然处于实验阶段,主要因为社区内的使用和反馈不足。

除此之外,本版本还对在线DDL进行了许多其他改进。详细信息请查看发布说明

查询解析器

Vitess 团队近年来一直致力于开发新版查询解析器。新的解析器命名为 Gen4,并在 Vitess 14 中默认启用,取代了旧版的 V3 查询解析器。如果您想了解更多或需要切回旧版解析器,请查阅相关发布说明。新的解析器为许多复杂查询提供了支持,其中包括从 SELECT 执行 UPDATE/INSERT 和跨分片聚合查询等。

可靠性改进

VTOrc

VTOrc 在 Vitess 14 中仍处于实验阶段。本次发布进一步使其成为 Vitess 的核心组件:

  • VTOrc 现在可以与 VTCtld 无缝集成,运行集群操作不会导致 VTOrc 执行不必要的操作
  • 本版本解决了多实例联邦问题。可以运行多个 VTOrc 实例监控同一组 keyspaces,而不会发生相互干扰
  • 持久性策略配置进行了重构。之前是通过命令行提供配置,现在存储在拓扑服务器中。VTOrc 和 VTCtld 均可从中读取并遵守设定的持久性策略。

此外,应急分片重新选主(Emergency Reparent Shard)功能获得增强,现在支持根据 keyspace 中设定的持久性策略处理多个故障情况。

用户可以通过查看原始RFC耐久性RFC来跟踪 VTOrc 的进展。

性能改进

我们的基准测试系统“arewefastyet”对该版本进行了测试。可以在 Vitess 基准页面查看 Vitess 14.0.0 和 Vitess 13.0.0 的性能对比。从测试结果中可以观察到约 10% 的性能提升,这主要得益于移除了内部 SAVEPOINT 查询执行。

欢迎前往下载页面下载 Vitess 14 并试用!如遇问题可通过 GitHub 报告!



Vitess 14 发布插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.choupangxia.com/2025/08/02/vitess-14/