TDSQL产品架构

TDSQL产品架构

架构分析及模块介绍

TDSQL系统总览

在这里插入图片描述这张图从下往上看;

  • 资源池

    属于laas层服务,可以是物理机或虚拟机。优先建议物理机;

    TDSQL是在一个机器的资源池上实现了数据库实例的管理;

  • 存储节点

    存储节点主要是TDSQL的两种数据库模式。noshard(单机)跟shared(分布式)数据库;

    主要是从MYSQL进行改造和改良,让它支持TDSQL的一系列特性:高可用、数据强一致性、故障切换等

    分布式数据库还具备水平伸缩能力;

  • 计算节点

    计算节点就是TDSQL的计算引擎,计算层和存储层分离。计算层这里指proxy,主要是做一些SQL方面的处理。例:语法解析、SQL解析等。如果是分布式数据库,还要做分布式事务相关的协调;例如下推到指定的存储引擎,什么时候需要在计算做汇总。计算节点是偏CPU密集型;

  • 赤兔管理平台

    该平台是用户操纵TDSQL的管理平台。DBA主要通过该平台去操纵TDSQL,相当于是一套WEB管理系统。可以在该平台上实现DBA日常的近几乎所有操作需求,且不容易出错。

  • 扁鹊只能DBA平台

    可以更深层、更直观的去分析性能问题、故障问题。

    拥有智能诊断系统,可以定期由DBA发起对实例进行诊断;如:分析主要消耗CPU的SQL、健康巡检、高可用、性能分析、锁分析等。可以大幅度降低DBA的工作。

  • 调度系统

    主要负责整体的资源调度。比如:实例增加删除、过期作废。扩缩容以及租户管理;

  • 备份系统

    物理/逻辑备份、恢复;

TDSQL产品架构

在这里插入图片描述

用户的请求通过负载均衡发往SQL引擎。SQL引擎作为计算接入层,根据这个SQL的要求从后端的存储节点去取数据。

其中,zk主要是用来存储类似路由这类元数据信息。主要是用于告诉SQL引擎,该SQL该发往后端的哪个数据节点。‘

当然ZK只是存储静态数据,维护这些静态数据就还需要用到一套调度及接口组件。

  • 核心模块
模块作用
DBDB就是实际用于存储业务数据的MYSQL实例
keeper整个集群资源管理和调度中心。keeper模块包括manager和scheduler模块
Proxy负责SQL的解析瑜计算。以及和zk进行交互
  • DB(存储节点)

    1、存储节点上部署MYSQL数据库服务

    2、每个实例均有agent模块,主要承担MYSQL实例的状态监控

    3、MYSQL实例通过Agent和TDSQL集群建立联系

    4、SET包含1主N备,set内节点可以提供读写,备节点只读;

  • Proxy(计算节点或网关)

    1、位于TDSQL接入层的位置,属于CPU密集型服务;

    2、承接应用数据库请求,负责路由转发,SQL分析,读写分离等;

    3、没有主备之分,本身无状态,一般采用多节点部署分担请求压力

  • keeper

    1、Scheduler模块

    是整个集群的管理调度中心,相当于整个集群的大脑;自动调度和运行各种类型的操作,比如:数据监控、收集监控生成各种报表、主备切换、扩缩容;

    2、manager模块

    是机器资源管理模块,也是任务执行者,它是和Scheduler一起运行的。manager是以zk为数据仓库,启动时从ZK中加载资源信息,对齐进行处理后及时写回zk存储节点。manager主要功能:就是机器管理、实例管理、网关管理、集群管理和用户管理;

TDSQL系统架构

在这里插入图片描述
在这里插入图片描述

主要功能与特性

TDSQL主备数据复制方式

  • 强同步机制:主机等待至少一台备机应答成功后才返回客户端成功
  • TDSQL采用强同步机制来保证数据一致性;即:任何一笔请求除了在主DB落盘成功外还要再至少一台DB备库完成落盘;

TDSQL数据强一致性

主节点异常情况下一致性的保障:

当主节点A宕机,B备节点被选举成新主,C备节点连接到B节点。而A节点变成备节点重新加入。

如果A节点无法加入,会快速重建节点D,通过Xtrabackup自动快速重做备节点D,快读恢复;

TDSQL容灾切换

  • 容灾切换:主DB不可用,系统自动选举新的节点提供服务
  • 整个切换过程完全自动,无须人为干预

切换过程:

1、scheduler把主DB降为从;

2、参与选举的从机上报最新的binlog文件偏移

3、scheduler根据收到的binlog点选择新的主DB

4、scheduler重建主备关系

5、scheduler更新zk中的路由表

6、proxy将请求转发给新的主DB

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值