暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
T
TenDB Cluster
编辑
简介:TenDB Cluster是腾讯游戏CROS DBA团队提供的MySQL分布式关系型数据库解决方案,主要包括三个核心组件:TSpider,TenDB 、Tdbctl。
简介:TenDB Cluster是腾讯游戏CROS DBA团队提供的MySQL分布式关系型数据库解决方案,主要包括三个核心组件:TSpider,TenDB 、Tdbctl。
产品概览 用户评价

目录

产品简介

TenDB Cluster是腾讯游戏CROS DBA团队提供的MySQL分布式关系型数据库解决方案,主要包括兼容MySQL协议、透明分库分表、负载均衡、高可用、在线扩展等特点。业务开发可以仅专注于业务逻辑的开发和运营,无需编写数据分片逻辑,在海量用户并发情况下也无须关心DB存储层的负载压力。

产品架构

TenDB Cluster主要有三个模块:接入层TSpider,存储层TenDB,控制层Tdbctl。

TenDB Cluster架构图

图片.png

  • TSpider是TenDB Cluster集群的接入层。TSpider基于MariaDB 10.3.7上的开源存储引擎spider定制研发而成,是游戏场景中规模最大的分布式MySQL存储引擎。spider存储引擎类似MySQL分区表的运作机制,spider原作者Kentoku SHIBA极具创新性的实现了跨机网络分区特性,为MySQL生态解决扩展性问题,提供了更好选择。

作为一种MySQL引擎,TSpider天然的支持MySQL协议,而且使用MySQL标准API即可请求TSpider。TSpider在接入到应用请求后,会通过数据路由规则对SQL改写然后分发到相应的存储节点TenDB执行,再对TenDB的返回结果进行处理最终返回给应用层。TSpider本身并不存储数据,基本是无状态的(各TSpider节点部分配置需要不同),可无限水平扩展。应用层可通过负载均衡组件(比如LVS, L5,甚至DNS)提供的统一接入地址访问多个对等的TSpider节点。

  • TenDB是TenDB Cluster的数据存储层。TenDB基于Percona Server 5.7.20定制而成,额外提供在线加字段、大字段压缩、binlog压缩/限速等特性及性能优化、分布式事务优化、BUG FIX等。通常一个集群会有多个TenDB实例,均衡的存储集群数据。每个TenDB可以使用主备部署或者MGR的方式来保证存储层的可用性。

  • Tdbctl是TenDB Cluster集群的中央控制模块。Tdbctl主要作用是集群路由配置管理、集群变更、集群切换及一定的集群监控。

主要特性

透明分库分表

TenDB Cluster默认会将数据水平分布到各个TenDB节点上,分库分表逻辑对应用层完全透明。另外,TenDB Cluster支持哈希、范围、列表等算法,用户也可自定义数据分布策略,提高应用的存储和处理性能。

兼容MySQL协议

TenDB Cluster的接入层TSpider作为一个分布式MySQL存储引擎,原则上支持任意类型的SQL;而且应用层通过MySQL API即可访问TenDB Cluster。

在线扩展

TenDB Cluster支持在线动态扩展,且在线扩展其间集群业务运行不受影响。下面分别说明3个组件的在线扩展。

TSpider

接入层TSpider并不存储数据,是无状态的节点。因此TSpider的扩容只需要将相同权限及schema的TSpider节点,加入到当前业务请求的名字服务中。 如果是缩容,则只需将TSpider节点从名字服务中剔除即可。

TenDB

存储层TenDB的扩容或者缩容,先线下利用MySQL建热备的方式将各TenDB实例搬迁到待扩容的机器上,待数据同步完后再刷新Tdbctl的路由信息,即可不影响集群服务的前提下完成扩展。

Tdbctl

Tdbctl通常没有扩展需求。如果需求,在Tdbctl构建的MGR集群增加节点即可。

高可用

TenDB Cluster是一个稳定可靠的MySQL分布式数据库解决方案,因此各个节点都有冗余与互备,在硬件或软件故障时,有效保障数据处理不间断。下面分别说明3个组件故障后的高可用。

TSpider

在某个TSpider节点软硬件故障时,将该节点从名字服务中剔除让业务无法访问到该节点即可。

TenDB

若TenDB节点使用主备部署,当某个主TenDB节点故障,则刷新Tdbctl中的路由信息即可将请求路由到备TenDB节点上;
若TenDB节点使用MGR方式部署,当某个TenDB节点故障,则会自动从集群中剔除。

Tdbctl

Tdbctl是一个MGR集群,某个节点故障则自动会被集群中剔除。

相关资料

TenDB Cluster 官网:https://tendbcluster.com/

TenDB Cluster 使用手册:https://tendbcluster.com/book-cn

TenDB Cluster 开源地址:https://github.com/Tencent/TenDBCluster-TSpider

用户评价

0
0
词条统计
创建者:小小亮
编辑次数:1
浏览次数:2758
API调用次数:0
贡献者