ITPub博客

首页 > 云计算 > 容器服务 > 宣布 Vitess 22 发布

宣布 Vitess 22 发布

容器服务 作者:ITPUB社群 时间:1970-01-01 08:33:45 0 删除 编辑

Vitess 维护者很高兴地宣布发布 22.0.0 版本,以及 Vitess Kubernetes(容器编排平台) Operator 的 2.15.0 版本。这是在我们最近调整发布节奏后,首个受益于 6 个月开发周期的版本。

22.0.0 版本在查询服务和集群管理方面带来了显著增强。这些变化使 Vitess 相比 21 版本性能更高、更易于运维。本博客文章重点介绍了该版本中的一些主要变更。有关该版本的更详细说明,请参阅发布说明。

摘要

  • 查询服务:预处理语句和新的 VTGate 指标

  • 集群管理和 VTOrc:磁盘停滞恢复、改进的异常 GTID 发现,以及 VTOrc 性能改进

  • Kubernetes Operator:自动备份、支持 Kubernetes 1.32、更好的示例

  • 性能:相比 v21.0.0 的改进

查询服务

Vitess 22.0 带来了一系列查询服务增强,重点关注可观测性、更智能地处理预处理语句、对分片视图的 GA 支持,以及功能完整的原子分布式事务。

可观测性

Vitess 现在会为查询执行计划发出指标,这有助于你分析执行模式并优化高成本计划。请参阅查询服务指标指南。

预处理语句

我们彻底重构了 VTGate 的 prepare 流水线:预处理语句以原始 SQL 形式缓存,从而跳过冗余的解析过程。此外,延迟执行计划现在会使用实际的绑定值来生成,以实现更优化、感知参数的查询规划。

视图与原子分布式事务

分片视图支持现已正式可用(GA),原子分布式事务功能也已完成。更多信息请参阅分布式事务指南。

集群管理与 VTOrc

在 Vitess 22.0 版本中,VTOrc 获得了多项性能和可用性增强。它现在的运行效率更高,拓扑服务调用更少,整体资源消耗也更优。

VTOrc 现在支持在 --keyspaces-to-watch 标志中指定分片范围,使得在大型部署中的配置更加容易。

此版本还为 VTOrc 引入了磁盘停滞恢复功能,并改进了对异常 GTID 检测的处理。此外,如果 vttablet 包含异常 GTID,现在将阻止其加入复制拓扑。

最后,我们为 VTOrc 添加了一个新的半同步监控器。这有助于检测并解除那些因等待半同步 ACK 而卡住的 vttablet——这种情况可能发生在 ACK 因网络问题而丢失时。

Kubernetes Operator

Vitess v22.0.0 版本随附我们的 Kubernetes operator v2.15.0 版本一同发布。这个新版本遵循与 Vitess 相同的发布周期。作为此版本的一部分,官方支持的 Kubernetes 版本为 v1.32。

v2.13.0 中实现的自动和定时备份的原始方案使用一个空 pod 运行 vtctldclient BackupShard 来执行备份。这种方法存在权衡:备份过程运行更快,但实际上从可用 tablet 池中移除了一个正在服务的 tablet。在 v2.15.0 中,我们将实现改为使用 VTBackup pod,以与我们自身对生产部署的建议保持一致,并减少对可用性的影响。

我们提供的所有示例都已增强,以展示 VitessOperator 和 VitessCluster 如何在两个不同的命名空间中运行。

请参阅 operator 发布说明以了解有关 v2.15.0 的更多信息。

性能

在此版本中,我们通过有针对性的优化,降低了查询延迟并减少了 Vitess 中的内存分配:

  • gRPC Codec 升级:Vitess 现在使用带有 Codec v2 和池化缓冲区的 gRPC,带来约 3% 的 QPS 提升,并将每请求分配减少约 13%。

  • Normalizer AST 遍历减少:将两次规范化 AST 遍历合并为一次,使 VTGate 的 normalizer 速度提升约 5%,并将每次操作的分配减少约 5.5%。

  • AST 重写优化:将 RewriteAST 和 Normalizer 合并为单次遍历,将 planner 延迟降低约 2.7%,并将分配减少约 4.3%。

  • 单分片查询避免归并排序:VTGate 现在在仅涉及一个分片时跳过冗余的归并排序,从而消除常见单分片场景中不必要的 CPU 工作。

迁移并了解更多

为了便于从先前版本迁移到 v22.0.0,强烈建议阅读 Vitess 和 Kubernetes Operator 的发布说明。此版本的完整变更日志也可供查阅。

还建议浏览我们的 v22.0.0 文档,您可以在其中找到分步用户指南、最佳实践以及运行 Vitess 的技巧。

社区

作为一个开源项目,我们非常重视社区的反馈、见解和贡献。无论您想分享故事、提出问题,还是其他任何事情,都可以通过 GitHub 或我们的 Slack 与我们联系。


转载声明:本文为转载整理,原文版权归原作者及原站点所有。

原文来源:PlanetScale Blog

原创地址:https://planetscale.com/blog/announcing-vitess-22

原文作者:PlanetScale Blog;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2022-11-21

  • 博文量
    1090
  • 访问量
    546652