曾很火的开源项目:腾讯,MySQL分布式解决方案,你看过没
Posted Java小叮当
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
附赠福利:
另外整理成了40多套PDF文档:全套的Java面试宝典手册1000+pdf
1.编程+开源框架+分布式”等七大面试专栏
2.Java核心知识点1000+Java面试题合集pdf
3.阿里、京东、蚂蚁等大厂面试真题解析
4.Spring全家桶面试题
5.算法笔记文档+刷题手册
6.思维导图(jvm、mysql、并发编程、数据库、kafka等等)。
欢迎大家任何形式的协作参与:包括不限于文档建议、功能建议、BUG修复、功能提交。TenDBCluster组件及文档对应的仓库如下:
请给项目 一个Star ! 欢迎提出你的issue和PR!
开源地址获取方式:扫描下方二维码,备注:csdn
以上是关于曾很火的开源项目:腾讯,MySQL分布式解决方案,你看过没的主要内容,如果未能解决你的问题,请参考以下文章
腾讯,MySQL 分布式解决方案,正式开源太牛逼啦!腾讯,MySQL 分布式解决方案,正式开源太牛逼啦!