码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • TenDB Cluster 简介


    文章目录

    • 1.简介
    • 2.TSpider
    • 3.TenDB
    • 4.Tdbctl
    • 5.TenDB Cluster Operator
    • 参考文献

    1.简介

    TenDB Cluster 是腾讯游戏 CROS DBA 团队提供的 MySQL 分布式解决方案。

    主要特点包括:透明分库分表、高可用的 MySQL 集群服务,透明在线的扩缩容;使得开发者可以仅专注于业务逻辑的开发及运营,无需编写数据分片逻辑。在海量用户并发情况下,无须关心存储层的负载压力。

    TenDB Cluster 集群主要包括三个核心组件:

    • 接入层 TSpider
    • 存储层 TenDB
    • 控制层 Tdbctl

    架构图如下:

    在这里插入图片描述

    2.TSpider

    TSpider 是集群的接入层。

    TSpider 由腾讯游戏 CROS DBA 基于 MariaDB 10.3.7 分布式存储引擎 Spider 开发定制而成。

    TSpider github 地址。
    在这里插入图片描述
    作为 MySQL 存储引擎,TSpider 天然支持 MySQL 协议,这意味着应用程序可以使用 MySQL 标准 API 请求 TSpider。

    TSpider 收到应用程序的请求后,会将查询分发到 Tdbctl。Tdbctl 通过数据分片规则重写 SQL 并分发到相应的 TenDB 数据节点执行,然后处理数据节点的返回结果,最后返回给应用程序。

    TSpider 本身不存储数据,基本上是无状态的(每个 TSpider 节点的配置需要相同),并且可以无限制地水平扩展。应用可以通过负载均衡组件(如 LVS、L5、甚至 DNS)提供的统一地址访问多个 TSpider 节点。

    3.TenDB

    TenDB 是集群的存储层。

    TenDB 由腾讯游戏 CROS DBA 团队基于 Percona Server 5.7.20 定制。提供即时加列、大列压缩、binlog压缩、binlog限速、性能优化、分布式事务优化、BUG FIX 等附加功能,目前是腾讯游戏默认的 MySQL 存储版本。

    TenDB github 地址。

    通常一个TenDB Cluster有多个 TenDB 实例,每个 TenDB 实例均匀存储集群数据。 在部署上,每个 TenDB 实例均采用 Master/Slave 或 MGR 部署方式,以保证 TenDB 实例高可用。

    4.Tdbctl

    Tdbctl 是集群的控制层。

    Tdbctl 是腾讯游戏 CROS DBA 团队基于 TenDB 开发(主要复用 TenDB 自身的 SQL 解析能力及 MGR(MySQL Group Replication)能力),它提供集群路由管理、集群DDL操作、集群监控和其他一些集群功能。

    Tdbctl github 地址。

    Tdbctl 是一个基于 MySQL 的工具,支持 MySQL 的 MGR 功能,某个节点故障则自动会被集群中剔除。因此,部署时使用 3 个或更多个 Tdbctl 节点构成一个 MGR 集群,以保证控制节点的高可用。

    5.TenDB Cluster Operator

    TenDB 集群还有一个名为 TenDB Cluster Operator 的组件,可以简化云上的部署和管理。

    TenDB Cluster Operator 提供了在主要云基础设施(Kubernetes)上部署和管理 TenDB Cluster 的能力。 它利用 Kubernetes 的容器编排能力和 TenDB Cluster 的集群管理能力,集成一键部署、一键扩展、故障转移和故障自愈能力,大大降低了用户管理和使用 TenDB Cluster 的成本。


    参考文献

    TenDB Cluster Community

  • 相关阅读:
    Linux设置用户的密码有效期
    NXP恩智浦 S32G电源管理芯片 VR5510 安全概念 Safety Concept (万字长文详解,配21张彩图)
    java实现阿里云rocketMQ消息的发送与消费(http协议sdk)
    【微信小程序】wxml、wxss、js、json文件介绍
    Python将已标注的两张图片进行上下拼接并修改、合并其对应的Labelme标注文件
    我整理了近五年的开发者报告,看看国内外有什么差异?
    MYSQL函数
    基于单片机的机械臂运行轨迹在线控制系统设计
    常见前端开发面试题
    Flask全套知识点从入门到精通,学完可直接做项目
  • 原文地址:https://blog.csdn.net/K346K346/article/details/133647378
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号