热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:腾讯:MySQL分布式解决方案,开源吊炸天!

篇首语:本文由编程笔记#小编为大家整理,主要介绍了腾讯:MySQL分布式解决方案,开源吊炸天!相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了腾讯: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相关面试题教程


回复 【加群】即可加入终端研发部相关的技术交流群


阅读更多


为什么HTTPS是安全的


因为BitMap,白白搭进去8台服务器...


《某厂内部SQL大全 》.PDF


字节跳动一面:i++ 是线程安全的吗?


大家好,欢迎加我微信,很高兴认识你!


在华为鸿蒙 OS 上尝鲜,我的第一个“hello world”,起飞!


相信自己,没有做不到的,只有想不到的


在这里获得的不仅仅是技术!





喜欢就给个“在看





推荐阅读
  • 本文档提供了详细的MySQL安装步骤,包括解压安装文件、选择安装类型、配置MySQL服务以及设置管理员密码等关键环节,帮助用户顺利完成MySQL的安装。 ... [详细]
  • 本文探讨了在使用Apache Flink向Kafka发送数据过程中遇到的事务频繁失败问题,并提供了详细的解决方案,包括必要的配置调整和最佳实践。 ... [详细]
  • 酷家乐 Serverless FaaS 产品实践探索
    本文探讨了酷家乐在 Serverless FaaS 领域的实践与经验,重点介绍了 FaaS 平台的构建、业务收益及未来发展方向。 ... [详细]
  • Golang与微服务架构:构建高效微服务
    本文探讨了Golang在微服务架构中的应用,包括Golang的基本概念、微服务开发的优势、常用开发工具以及具体实践案例。 ... [详细]
  • 深入浅出:Hadoop架构详解
    Hadoop作为大数据处理的核心技术,包含了一系列组件如HDFS(分布式文件系统)、YARN(资源管理框架)和MapReduce(并行计算模型)。本文将通过实例解析Hadoop的工作原理及其优势。 ... [详细]
  • 构建高性能Feed流系统的设计指南
    随着移动互联网的发展,Feed流系统成为了众多社交应用的核心组成部分。本文将深入探讨如何设计一个高效、稳定的Feed流系统,涵盖从基础架构到高级特性的各个方面。 ... [详细]
  • 本文详细介绍如何在Spring Boot项目中集成和使用JPA,涵盖JPA的基本概念、Spring Data JPA的功能以及具体的操作步骤,帮助开发者快速掌握这一强大的持久化技术。 ... [详细]
  • Mac环境下Java与Ant自动化构建环境搭建指南
    本文详细介绍了如何在Mac操作系统上为测试工程师搭建Java和Ant开发环境,包括环境变量配置等关键步骤。 ... [详细]
  • J2EE平台集成了多种服务、API和协议,旨在支持基于Web的多层应用开发。本文将详细介绍J2EE平台中的13项关键技术规范,涵盖从数据库连接到事务处理等多个方面。 ... [详细]
  • 抽象工厂模式 c++
    抽象工厂模式包含如下角色:AbstractFactory:抽象工厂ConcreteFactory:具体工厂AbstractProduct:抽象产品Product:具体产品https ... [详细]
  • 本文探讨了HTA(HTML Application)环境中HTML5 IndexedDB的可用性问题,并提供了一种替代方案,即通过使用COM ActiveX对象来实现数据存储功能。 ... [详细]
  • SQLite是一种轻量级的关系型数据库管理系统,尽管体积小巧,却能支持高达2TB的数据库容量,每个数据库以单个文件形式存储。本文将详细介绍SQLite在Android开发中的应用,包括其数据存储机制、事务处理方式及数据类型的动态特性。 ... [详细]
  • 本文详细探讨了 Java 中 com.codahale.metrics.servlets.AdminServlet.() 方法的实现与应用,并提供了多个实际项目中的代码示例,帮助开发者更好地理解和使用这一方法。 ... [详细]
  • 本文探讨了六项Java特性,它们虽然强大,但在不当使用时可能会给应用程序带来严重问题。文章基于作者Nikita Salnikov Tarnovski多年的应用性能调优经验,提供了对这些特性的深入分析。 ... [详细]
  • 本教程旨在指导开发者如何在Android应用中通过ViewPager组件实现图片轮播功能,适用于初学者和有一定经验的开发者,帮助提升应用的视觉吸引力。 ... [详细]
author-avatar
小帅哥沈阳后援会果果
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有