TenDB Cluster是腾讯游戏CROS DBA团队提供的MySQL分布式关系型数据库解决方案,主要包括兼容MySQL协议、透明分库分表、负载均衡、高可用、在线扩展等特点。业务开发可以仅专注于业务逻辑的开发和运营,无需编写数据分片逻辑,在海量用户并发情况下也无须关心DB存储层的负载压力。
架构介绍
TenDB Cluster主要有三个模块:接入层TSpider,存储层TenDB,控制层Tdbctl。架构图如下:
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执