TenDB Cluster 简介
文章目录
- 1.简介
- 2.TSpider
- 3.TenDB
- 4.Tdbctl
- 5.TenDB Cluster Operator
- 参考文献
1.简介
TenDB Cluster 是腾讯游戏 CROS DBA 团队提供的 MySQL 分布式关系型数据库解决方案。主要特点包括:透明分库分表、高可用的 MySQL 集群服务,透明及在线的扩容及缩容;使得开发者可以仅专注于业务逻辑的开发及运营,无需编写数据分片逻辑。在海量用户并发情况下,也无须关心存储层的负载压力。
TenDB Cluster 集群主要包括三个核心组件:TSpider,TenDB 和 Tdbctl。
2.TSpider
TSpider 是 TenDB 集群的接入层。
TSpider 是腾讯游戏 CROS DBA 基于 MariaDB 10.3.7 开发定制的版本,主要完善并定制 Spider 这一分布式 MySQL 存储引擎。TSpider github 地址。
作为 MySQL 存储引擎,TSpider 天然支持MySQL协议,这意味着应用程序可以使用 MySQL 标准 API 请求 TSpider。
TSpider收到应用程序的请求后,会将查询分发到Tdbctl,Tdbctl通过数据分片规则重写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 解析能力及 MGR(MySQL 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
相关文章:
TenDB Cluster 简介
文章目录 1.简介2.TSpider3.TenDB4.Tdbctl5.TenDB Cluster Operator参考文献 1.简介 TenDB Cluster 是腾讯游戏 CROS DBA 团队提供的 MySQL 分布式关系型数据库解决方案。主要特点包括:透明分库分表、高可用的 MySQL 集群服务,透明及在线的扩容及缩容&a…...
【刷题笔记10.6】LeetCode:翻转二叉树
LeetCode:翻转二叉树 一、题目描述 给你一颗二叉树的根节点root,翻转这颗二叉树,并返回其根节点。 二、分析 我们在做二叉树题目时候,第一想到的应该是用 递归 来解决。 仔细看下题目的 输入 和 输出,输出的左右…...
【高阶数据结构】图详解第一篇:图的基本概念及其存储结构(邻接矩阵和邻接表)
文章目录 1. 图的基本概念1.1 什么是图1.2 有向图和无向图1.3 完全图1.4 邻接顶点1.5 顶点的度1.6 路径1.7 路径长度1.8 简单路径与回路1.9 子图1.10 连通图1.11 强连通图1.12 生成树 2. 图的存储结构2.1 邻接矩阵2.2 邻接矩阵代码实现结构定义构造函数添加边打印图测试 2.3 邻…...
IPV4跟IPV6的区别
如今互联网快速发展ipv4已经满足不了现在的需求,那么这时候就需要用更大的地址空间来代替,这时候ipv6就可以满足这一需求,相比ipv4它有更大的地址空间可供使用。下面我将分享一下有何区别。 IPv4与IPv6之间的区别: 1、地址长度的区别:IPv4具…...
利用fitnesse实现api接口自动化测试
上午在园子里乱逛,看了不少小伙伴们分享的接口测试方面的知识,仔细想想,我做接口测试也有几个年头了,大家所叙述到的一些经验或多或少,我也曾遇到过,突然意识到知识的点滴积累是多么的重要,我记…...
【LeetCode】1154.一年中的第几天
题目描述: 给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。 示例 1: 输入:date "2019-01-09" 输出:9 解释:给定日期是2019年的第九天。示…...
4.物联网射频识别,RFID开发【智能门禁项目】
补充:学习路径 一。项目介绍及需求分析 1.酒店智能门禁使用场景介绍 1.客人入住 客人在前台办理入住手续,前台管理员通过门禁管理系统为客户开一张门禁卡 客户持卡到相应客房,用IC 卡刷卡开门 客人过了入住时间后,卡自动失效&a…...
CompletableFuture 和 Future 的选择,以及CompletableFuture的用法
在 Java 编程中,异步编程是一种重要的技术,它允许你在执行长时间运行的任务时不会阻塞主线程。为了支持异步编程,Java 提供了 Future 和 CompletableFuture 这两个关键的类。在本文中,我们将比较它们的特点、优缺点以及使用场景。…...
美国第三大财产和意外险公司利宝保险集团利用 OpenText EnCase 取证收集技术控制法律风险和成本
美国第三大财产和意外险公司利宝保险集团利用 OpenText EnCase 取证收集技术控制法律风险和成本 利宝保险集团通过内部取证收集技术控制法律风险和成本。OpenText EnCase Information Assurance(以前称为 EnCase eDiscovery)使保险公司巨头能够自信高效地…...
打包报错JavaScript heap out of memory
npm run build 的时候出现了Reached heap limit Allocation failed - JavaScript heap out of memory,报错信息如下图所示。 奇怪的时候这个报错信息在本地不会出现,通过jekins在服务器打包部署的时候才会出现。于是进入服务器执行下面一句代码ÿ…...
Android Camera FW 里的requestId和frameId
安卓相机frameworks里面经常出现requestId和frameId,最近简单看了一下代码,发现相关流程还是很复杂的,总结来看requestId 就是上层(java)发送的repeating(capture)请求的id,是从0开始递增的。 这是CameraD…...
代理IP与Socks5代理在技术世界的多元应用
在数字化时代,网络工程师的任务不仅是维护网络的稳定性,还需要应对各种技术挑战。代理IP与Socks5代理作为技术工具箱中的两把利器,在跨界电商、爬虫、出海业务、网络安全和游戏领域中发挥了关键作用。本文将深入探讨这两项技术在不同领域的多…...
计算机专业毕业设计项目推荐12-志愿者管理系统(Spring+Js+Mysql)
志愿者管理系统(SpringJsMysql) **介绍****各部分模块实现** 介绍 本系列(后期可能博主会统一为专栏)博文献给即将毕业的计算机专业同学们,因为博主自身本科和硕士也是科班出生,所以也比较了解计算机专业的毕业设计流程以及模式,在编写的过程…...
苹果文件传到mac电脑用什么软件?
在数字化时代,文件传输已经成为我们日常生活中不可或缺的一部分。然而,苹果用户在将手机文件传输到电脑时,往往会面临一些困扰。曾经的“文件传输助手”并不能完全满足用户的需求。于是,很多人开始寻找更便捷的解决方案。在本文中…...
深入理解Docker:简化部署与管理的利器
文章目录 引言Docker简介Docker的背景和发展Docker的优势和特点 Docker的基本概念和架构镜像(Image)容器(Container)仓库(Repository)Docker架构 Docker的常用命令和操作Docker的安装和配置Docker镜像的管理…...
软考对找工作有用吗?
软考是指软件技术专业资格考试,是由中国人力资源和社会保障部主管的一项国家级考试。软考的目标是评估和认证软件技术人员的专业能力,提高软件行业的整体素质和竞争力。那么,软考对找工作有用吗?本文将从以下几个方面进行分析。 首…...
Android系统启动之init进程启动+Zygote进程启动分析
一、基础概念理解 init进程 Android系统所有进程的祖先,是Android系统内核初始化完毕后,进入用户空间启动的第一个进程。 Android虚拟机 Dalvik虚拟机是谷歌自己设计的用于Android平台的虚拟机。Android4.4同时提供了Dalvik和ART虚拟机。Android5.0以后…...
微信这样的加人方式,既安全又解放双手
在当今竞争激烈的市场环境下,如何高效地管理和运营私域流量成为企业发展的关键。 1.批量自动化加好友的优势 (1)提高效率:批量自动化添加好友功能可以帮助企业添加大量潜在客户或目标客户。相比手动逐个添加好友,自动…...
CVE-2023-5129:libwebp开源库10分漏洞
谷歌为libwebp漏洞分配新的CVE编号,CVSS评分10分。 Libwebp是一个用于处理WebP格式图像编解码的开源库。9月6日,苹果公司安全工程和架构(SEAR)部门和加拿大多伦多大学研究人员在libwebp库中发现了一个0 day漏洞,随后&…...
从零开始的C++(六)
1.类和对象补充: 静态成员,有静态成员函数和静态成员变量,特点是不为类的某个对象所有,而是为同类所有对象共有。因为是为同类对象共同拥有,所以计算对象的大小的时忽略静态成员。因为静态成员是放在静态区࿰…...
leetcode 518. 零钱兑换 II、377. 组合总和 Ⅳ
518. 零钱兑换 II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 …...
【网络安全 --- kali2022安装】kali2022 超详细的安装教程(提供镜像)
如果你还没有安装vmware 虚拟机,请参考下面博客安装 【网络安全 --- 工具安装】VMware 16.0 详细安装过程(提供资源)-CSDN博客【网络安全 --- 工具安装】VMware 16.0 详细安装过程(提供资源)https://blog.csdn.net/m0…...
网络安全(黑客)——自学笔记
前言: 想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“…...
【C++】List -- 详解
一、list的介绍及使用 https://cplusplus.com/reference/list/list/?kwlist list 是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 list 的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中&…...
浅谈.net 垃圾回收机制(1)
大家都知道.net程序创建对象后没法写代码销毁对象,它有它自己的处理机制,今天来大概说说它的原理,探讨下它是如何管理对象即管理内存的 在程序里使用new 关键字实例化一个对象 如果这个对象类型是引用类型则在堆上分配然后由GC管理 new 操作…...
超大视频如何优雅切片
背景 有一次录屏产生了一个大小为33G的文件, 我想把他上传到B站, 但是B站最大只支持4G. 无法上传, 因此做了一个简单的探索. 质疑与思考 a. 有没有一个工具或一个程序协助我做分片呢? 尝试 a. 必剪 > 有大小限制, 添加素材加不进去(而且报错信息也提示的不对) b. PR &…...
计算机竞赛 题目:基于深度学习卷积神经网络的花卉识别 - 深度学习 机器视觉
文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基…...
Spring总结的question
Spring 一. 控制反转(IoC) 1.手动 使用了Spring的Configuration和Bean注解来明确指定了哪些类需要被纳入容器的管理。在AppConfig配置类中,通过Bean注解创建了Service和Controller的实例,Spring会自动将这些实例纳入容器的管理,并处理它们…...
LVS和keepalived
Keepalived及其工作原理 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。 在一个LVS服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器&#x…...
2023年腾讯云优惠券(代金券)无门槛领取方法汇总
腾讯云作为国内知名的云计算服务提供商,为了吸引用户,腾讯云经常推出各种优惠活动,其中包括优惠券的免费发放。通过使用优惠券,可以享受到更多的折扣和优惠,节省成本,获得更好的用户体验。那么,…...
手机网站底部导航代码/查找关键词的工具叫什么
1. Flume的安装配置 2. flume和kafka整合(转) 3. Flume NG 配置详解(转) 4. Flume-NG一些注意事项(转) 5. FLume监控文件夹,将数据发送给Kafka以及HDFS的配置文件详解 6. 应用FlumeHBase采集和存…...
网站建设的违约责任/软文营销文章300字
11月14日至15日,世界机器人大赛青少年机器人设计大赛ENJOY AI赛项城市选拔赛在泰安举行,9名学生组成3只代表队参加了ENJOY AI赛项,比赛成绩特别突出,其中4名学生成功晋级国赛。12月2日至6日,2020世界机器人大赛在广东省…...
网站开发种类/搜索引擎营销是什么意思
os这个模块提供了一种方便的使用操作系统函数的方法。__file__:这个脚本的相对路径。比如说脚本叫做test.py,那print(__file__)输出的结果就是test.py。os.path.realpath(__file__):这个脚本的绝对路径。os.getcwd():当前工作区的…...
东莞原创设计院官网/自媒体seo优化
科学工作者应该是什么性格的? 那天跟我一同学聊天,我说担心我这种性格不适合成为科学工作者,因为不是特别会来事,组织能力、交流能力都不突出,这样就很难经常和同行们保持联系,这样很难有大的突破。举一例是…...
肥西网站建设/企点
smarty常用的20个变量操作符 * 使用语法:{变量名|操作符:}* capitalize ---首字母大写* count_characters ---计算字符数* cat ---连接字符串* count_paragraphs ---计算段落数* count_sentences ---计算句数* count_words ---计算词数* date…...
老板说做个网站我要怎么做/如何宣传推广自己的店铺
这篇文章主要讲讲 docker 中镜像有关的知识,将涉及到下面几个方面:docker images 命令的使用docker 和 registry 交互的过程,pull 命令到底做了什么docker storage driveraufs 的格式和实际的组织结构Dockerfile 原语和 docker 镜像之间的关系…...