tencent cloud

TDSQL Boundless

弹性扩缩容与负载均衡

PDF
聚焦模式
字号
最后更新时间: 2026-04-17 12:21:17
本文档详细介绍 TDSQL Boundless 的弹性扩缩容机制和负载均衡策略。

弹性扩缩容

扩缩容概述

TDSQL Boundless 的核心特性之一是实现业务无感知的扩缩容,确保扩缩容过程中业务请求不受性能抖动影响。

弹性扩缩容概述


扩缩容就是数据分片 - 复制组 - 物理节点三者关系的重组:
变化类型
具体事件
数据逻辑关系变化
Region 的分裂和合并
Region 在 RG 上的转移
RG 创建和删除
数据物理关系变化
RG 迁移(成员变更)

分裂操作

分裂是将单个 Replication Group 拆分成两个,各自管理拆分前的部分数据。

弹性扩缩容:分裂


分裂流程
1. 初始状态:TDStore1、2、3上存在数据量大的 RG3,新增 TDStore4 节点
2.
Replication Group 分裂:将一部分 Key Range Region 划分到新 RG,构建新 Raft Group
3.
分裂完成:两个 RG 分别承担分裂前一部分的压力
分裂特点
仅在上层逻辑模块进行复制组拆分
底层 KV 数据未发生物理变动
对系统 IO 的影响较为有限

迁移操作

迁移是指将 Raft Group 的某个 follower 副本转移到新节点的过程。

弹性扩缩容:迁移


迁移流程
1.
在目标节点为待迁移的复制组创建新副本
2.
Leader 执行 install snapshot 流程,将完整 RG 数据同步至新副本
3.
删除待迁移的旧副本("先增后减"策略)
核心价值
数据分散:实现数据在不同 TDStore 节点间的均衡分布
读写无感:follower 的创建与销毁不影响 Leader 的正常读写操作

切主操作

切主是指将 Raft Group 中的 Leader 角色切换到另一个 Raft 副本的过程。

弹性扩缩容:切主


切主流程
1.
事务信息预同步:将原 Leader 的未完成活跃事务上下文信息提前发送给目标节点
2.
Raft 层 Leader 切换:在事务信息同步完成后,触发正式的 Leader 切换操作
核心目的:通过分散 Leader 热点,实现负载均衡。
保证:提前同步事务信息,切主过程中不会终止任何进行中的事务。

负载均衡

负载均衡与数据亲和性协同

MC 实现了负载均衡与数据亲和性协同调度机制

负载均衡与数据亲和性协同


协同调度流程
1.
初始分布策略:均匀分布原则,Leader 均衡,副本均衡
2.
动态扩容感知:计算新增节点容量,重新评估分布均衡性,迁移部分数据分片
3.
持续优化机制:定期重新计算数据分布,渐进式优化
4.
极端情况处理:数据倾斜过高时,分裂表数据并进行副本搬迁

2.2 热点检测与智能调度

MC 实现了智能化的热点检测与负载均衡系统:

热点检测与智能调度


热点检测机制
1.
实时数据上报:节点心跳上报基本信息和 Region 级别读写流量统计
2.
多维度负载状态:MC 维护 Multi-TopN 记录(Byte/Key/Query 维度)
3. 智能调度算法:基于 MovingAverage 避免冲击负载,计算热度得分选择最佳分布

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈