签到成功

知道了

CNDBA社区CNDBA社区

TDSQL 集群 主要模块(Scheduler/OSS/agent/proxy) 功能 说明

2021-08-23 00:41 9713 0 原创 TDSQL
作者: dave

1 TDSQL 架构

在之前的博客我们了解了TDSQL 集群架构的相关组件,如下:http://www.cndba.cn/dave/article/4683http://www.cndba.cn/dave/article/4683

TDSQL 架构 组件 说明
https://www.cndba.cn/dave/article/4586http://www.cndba.cn/dave/article/4683

但是相关组件的功能描述的不够详细,本篇我们继续深入学习下TDSQL 中4个主要模块的功能。

TDSQL 的架构图如下:

2 主要模块功能-Scheduler

Scheduler作为集群的管理调度中心,主要功能如下: http://www.cndba.cn/dave/article/4683http://www.cndba.cn/dave/article/4683

  1. 管理set,提供创建,删除set,set内节点替换等工作;
  2. 监控set内各个节点的存活状态,当Set内主节点故障,发起高一致性主备切换流程;
  3. 根据set内个节点运行状况,更新set状态,设置watch节点,支持自动退化和恢复等;
  4. 管理扩容、回档等流程工作;
  5. Scheduler自身的容灾通过zk的选举机制完成,保证中心控制节点无单点。

3 主要模块功能-OSS

OSS提供管理和控制TDSQL集群的一个操作接口工具, 主要功能如下:http://www.cndba.cn/dave/article/4683

  • OSS负责接收用户的请求,完成TDSQL的部署、初始化、扩容等等一系列的操作。
  • 实例管理
  • 集群实例管理
  • 数据库管理
  • 数据库迁移
  • 数据库参数
  • 用户权限管理
  • 资源管理
  • 网关管理
  • 机器管理

4 主要模块功能-Agent

MySQL agent 的功能如下:http://www.cndba.cn/dave/article/4683

  1. MysqlAgent作为Mysql的旁路模块,承担着节点和集群(zk、schedule)桥梁的作用。
  2. 通过对zk的watch监听实现和zookeeper的通信。通过socket长连接保证和DB的交互。

5 主要模块功能-Proxy

proxy 也是TDSQL 中的SQL 引擎,主要功能如下:http://www.cndba.cn/dave/article/4683

http://www.cndba.cn/dave/article/4683

  1. 从zookeeper中拉取最新的路由表保存到本地文件和内存;
  2. 将SQL请求路由到对应的Set,支持读写分离 ;
  3. 对接入的IP,用户名,密码进行鉴权;
  4. 记录完整的SQL执行信息,完成实时的SQL请求的时耗,成功率等指标监控分析;
  5. 对count,distinct,sum,avg,max,min,order by,group by等聚合类SQL一般需要访问后端的多个Set,网关会分析结果并做合并再返回;
  6. 网关无状态,既支持与业务部署到一起,也可以独立部署(可通过TGW或者LVS做容灾)。

http://www.cndba.cn/dave/article/4683

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2261
    原创
  • 3
    翻译
  • 578
    转载
  • 191
    评论
  • 访问:7970444次
  • 积分:4346
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ