郑州网站优化推广,如何攻破wordpress,手游源码平台,网页翻译成中文后怎么还原文章目录 1.简介2.TSpider3.TenDB4.Tdbctl5.TenDB Cluster Operator参考文献 1.简介
TenDB Cluster 是腾讯游戏 CROS DBA 团队提供的 MySQL 分布式关系型数据库解决方案。主要特点包括#xff1a;透明分库分表、高可用的 MySQL 集群服务#xff0c;透明及在线的扩容及缩容透明分库分表、高可用的 MySQL 集群服务透明及在线的扩容及缩容使得开发者可以仅专注于业务逻辑的开发及运营无需编写数据分片逻辑。在海量用户并发情况下也无须关心存储层的负载压力。
TenDB Cluster 集群主要包括三个核心组件TSpiderTenDB 和 Tdbctl。 2.TSpider
TSpider 是 TenDB 集群的接入层。
TSpider 是腾讯游戏 CROS DBA 基于 MariaDB 10.3.7 开发定制的版本主要完善并定制 Spider 这一分布式 MySQL 存储引擎。TSpider github 地址。 作为 MySQL 存储引擎TSpider 天然支持MySQL协议这意味着应用程序可以使用 MySQL 标准 API 请求 TSpider。
TSpider收到应用程序的请求后会将查询分发到TdbctlTdbctl通过数据分片规则重写SQL并分发到相应的TenDB数据节点执行然后处理数据节点的返回结果最后返回给 应用程序。
TSpider本身不存储数据基本上是无状态的(每个TSpider节点的配置需要不同)并且可以无限制地水平扩展。应用可以通过负载均衡组件(如LVS、L5、甚至DNS)提供的统一访问地址访问多个TSpider节点。
3.TenDB
TenDB 是 TenDB 集群的存储层。
TenDB是腾讯游戏CROS DBA团队基于Percona Server 5.7.20定制的。 提供即时加列、大列压缩、binlog压缩、binlog限速、性能优化、分布式事务优化、BUG FIX等附加功能目前是腾讯游戏默认的MySQL存储版本。TenDB github 地址。
通常一个TenDB Cluster有多个TenDB实例每个TenDB实例均匀存储集群数据。 在部署上每个TenDB实例均采用Master/Slave或MGR部署方式以保证TenDB实例的高可用性。
4.Tdbctl
Tdbctl 是 TenDB 集群的控制层。
TenDB 是腾讯游戏 CROS DBA 团队基于 TenDB 开发主要复用 TenDB 自身的 SQL 解析能力及 MGRMySQL Group Replication能力主要功能是集群分片规则管理、集群DDL操作、集群切换和集群监控。Tdbctl github 地址。
集群分片规则管理涉及维护从TSpider到TenDB的分片规则并保证分片规则配置的可用性和唯一性。
集群DDL操作是指TSpider收到DDL请求后会转发给Tdbctl。 Tdbctl重写SQL后会分发到TSpider/TenDB节点上执行。
集群监控是指Tdbctl会监控TenDB集群的权限、分片规则、表结构和可用性等。
Tdbctl是一个基于MySQL的工具支持MySQL的MGR功能。 因此在部署中我们使用3个或更多Tdbctl节点构建MGR集群以保证控制节点的高可用性和路由配置的严格一致性。
5.TenDB Cluster Operator
TenDB 集群 还有一个名为 TenDB Cluster Operator 的组件可以简化云上的部署和管理。
TenDB Cluster Operator 提供了在主要云基础设施Kubernetes上部署和管理 TenDB Cluster 的能力。 它利用Kubernetes的容器编排能力和TenDB Cluster的集群管理能力集成一键部署、一键扩展、故障转移和故障自愈能力大大降低了用户管理和使用TenDB Cluster的成本。 参考文献
TenDB Cluster Community