学习 Vitess(一):初识 Vitess

更新至 Vitess 4.0.1 版本

Vitess 为 MySQL 横向扩展能力的数据库集群管理系统。

Vitess 由 Google 系的 Youtube 于 2010 年创建,2018 年 2 月进入 CNCF 孵化,并于 2019 年 11 月毕业,称为第八位 CNCF 项目。

Vitess 母公司为 PlanetScale

与 Vitess 相似的项目还有 Apache ShardingSphere

特性

  • 性能 提供了连接池、查询去重和事务管理功能;
  • 保护 提供了查询重写和清理、查询黑名单、查询中断和表 ACL 功能;
  • 监控 提供了性能分析工具;
  • 拓扑管理工具 基于 Web-UI 的管理界面;
  • 分片 提供了动态重分片、纵向横向分片和多种分片策略功能。

架构

Vitess 架构图:

Vitess Architecture

Vitess 组件:

  • vtctl 用于管理 Vitess 集群的命令行工具;
  • vtctld 用于管理 Vitess 集群的 Web 服务;
  • Topology Service 用于存储拓扑数据并提供分布式锁服务;
  • vtgate 轻量级代理服务器,路由流量到相应的 vttablet;
  • vttablet 用于控制和管理 MySQL。

参考