vitess介绍

一,架构及简介

Vitess 是一种 MySQL 水平扩展中间件,可用于部署、扩展和管理大型 MySQL 实例集群,用 Go 语言实现。

Vitess 源于 YouTube, 从 2011 年起已为 YouTube 管理了几千个 MySQL 结点。

Vitess 是云原生基金会 CNCF 毕业项目。

VTTablet :是一个位于 MySQL 数据库前面的代理服务器, Vitess 实现中每个 MySQL 实例前面都有一个 VTTablet 进程。VTTablet 可以分为 master, replica, rdonly 等类型。

VTGate :是一个轻型代理服务器,它接收客户端请求,将流量路由到正确的vttablet,并将合并的结果返回给客户端。

Vtctld:是一个 HTTP 服务器,允许您浏览存储在 Topology 中的信息。

Vtctl:是一个用于管理 Vitess 集群的命令行工具。

Topology:是一个存储元数据的拓扑服务,用于存储 Vitess 集群的分片副本等配置信息。

二,概念

Cell: 通常对应物理部署中的数据中心或者叫做 区域 Zone,每个 Cell 都有个本地的拓扑服务,其中包括这个Cell下所有的路由及vttablet信息;

Vitess可以优雅的处置Cell级别的网络故障,如果有其他的Cell故障并不会影响到当前Cell。

Keyspace: 键空间(数据库):键空间(Keyspace) 是一种逻辑数据库,相当于 MySQL 中的 Database 概念。

对于分片键空间(sharded), 一个键空间映射到多个 MySQL 数据库上;

对于未分片键空间(unsharded), 键空间直接映射到单个 MySQL 数据库。

Keyspace 可能包含一个或多个 Shards 分片,每个 Shard 包含一个或多个 Replica 副本,其中一个 Replica 会被选举为 master。

从应用的角度看,键空间就是一个单独的数据库,从键空间读数据就像从 MySQL 数据库读数据一样。

根据读操作的不同一致性要求,Vitess 可能从 master 节点读数据,也可能从 replica 副本上读取数据。

三,故障转移

1 查看当前主数据库

2 列出可用的mysql实例

3 将master实例排空

4 查看故障转移状态

四,版本对应关系及页面差异

V12.0版本界面

V15.0版本界面

V15版本架构

五,注意事项

  1. 中文文档不在维护

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Addison_Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值