腾讯:MySQL 分布式解决方案,开源吊炸天!
Posted androidstarjack
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了腾讯:MySQL 分布式解决方案,开源吊炸天!相关的知识,希望对你有一定的参考价值。
点击上方蓝色“终端研发部”,选择“设为星标”
学最好的别人,做最好的我们
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执行,再对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修复、功能提交。
BAT等大厂Java面试经验总结 想获取 Java大厂面试题学习资料扫下方二维码回复「BAT」就好了回复 【加群】获取github掘金交流群回复 【电子书】获取2020电子书教程回复 【C】获取全套C语言学习知识手册回复 【Java】获取java相关的视频教程和资料回复 【爬虫】获取SpringCloud相关多的学习资料回复 【Python】即可获得Python基础到进阶的学习教程回复 【idea破解】即可获得intellij idea相关的破解教程回复 【BAT】即可获得intellij idea相关的破解教程关注我gitHub掘金,每天发掘一篇好项目,学习技术不迷路!
回复 【idea激活】即可获得idea的激活方式
回复 【Java】获取java相关的视频教程和资料
回复 【SpringCloud】获取SpringCloud相关多的学习资料
回复 【python】获取全套0基础Python知识手册
回复 【2020】获取2020java相关面试题教程
回复 【加群】即可加入终端研发部相关的技术交流群
阅读更多
在华为鸿蒙 OS 上尝鲜,我的第一个“hello world”,起飞!
相信自己,没有做不到的,只有想不到的
在这里获得的不仅仅是技术!
喜欢就给个“在看”
以上是关于腾讯:MySQL 分布式解决方案,开源吊炸天!的主要内容,如果未能解决你的问题,请参考以下文章