腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!

沙海
沙海
沙海
1017
文章
2
评论
2021年4月20日05:54:08
评论
2 2141字阅读7分8秒
摘要

速读摘要

速读摘要

3.7上的开源存储引擎spider定制研发而成,是游戏场景中规模最大的分布式MySQL存储引擎。通常一个集群会有多个TenDB实例,均衡的存储集群数据。DBA团队提供的MySQL分布式关系型数据库解决方案,主要包括兼容MySQL协议、透明分库分表、负载均衡、高可用、在线扩展等特点。MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

原文约 2998 | 图片 8 | 建议阅读 6 分钟 | 评价反馈

腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!

点击关注 ? Java基基

收录于话题

#Java基基

16个

点击上方“Java基基”,选择“设为星标”

做积极的人,而不是积极废人!

源码精品专栏

 

来源:腾讯游戏

大家好,我是基基!

腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!

TenDB Cluster是腾讯游戏CROS DBA团队提供的MySQL分布式关系型数据库解决方案,主要包括兼容MySQL协议、透明分库分表、负载均衡、高可用、在线扩展等特点。

业务开发可以仅专注于业务逻辑的开发和运营,无需编写数据分片逻辑,在海量用户并发情况下也无须关心DB存储层的负载压力。

架构介绍

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

腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!

图片

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

腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!腾讯,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致力于提供和单实例MySQL一样的使用方法,具体部署使用见文档:https://tendbcluster.com/book-cn

开源地址

https://github.com/Tencent/TenDBCluster-TSpider

欢迎大家任何形式的协作参与:包括不限于文档建议、功能建议、BUG修复、功能提交。TenDBCluster组件及文档对应的仓库如下:

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

欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!

已在知识星球更新源码解析如下:

腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!

腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!

腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!

腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!腾讯,MySQL 分布式解决方案,正式开源、太牛逼啦!

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 20 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。谢谢支持哟 (*^__^*)

阅读原文

继续阅读
历史上的今天
4月
20
weinxin
资源分享QQ群
本站是一个IT技术分享社区, 会经常分享资源和教程; 分享的时代, 请别再沉默!
沙海
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: