实例升级

最近更新时间: 2024-06-12 15:06:00

在线扩容

TDSQL支持在线实时扩容,扩容方式分为新增分片和对现有分片扩容两种方式:

  • 新增分片:新增加一个物理分片,支持针对指定分片进行拆分数据(原有分片配置不变),数据将自动均衡到新分片,无需手工操作。

  • 扩容分片:即对某个物理分片的配置进行升级,升级后,数据将不会自动均衡。主要用于解决单一分片负载和容量过高的问题。

    说明:

    暂不支持一次性新增多个物理分片,敬请期待。 扩容分片支持指定时间切换功能,您可以提前发起任务并设置在业务低谷期切换,以降低对您业务影响。

为避免一次性升级全部分片可能导致业务全局中断,TDSQL在线扩容当前仅支持同时新增或扩容一个分片,您需要在当前分片升级完成后才能进行下一个分片。虽然此种方案比较复杂,但根据下方“自动再均衡”原理,整个实例仅影响一部分业务,而不会造成全局中断,因为扩容时仅受影响分片存在秒级的只读(或中断),其他分片的读写业务不会受影响。

自动再均衡

TDSQL主要是采用自研的自动再均衡技术(rebalance)保证自动化的扩容和稳定,以新增分片为例,扩容过程如下图:

  1. 控制台单击扩容后,系统根据负载和容量计算出 A 节点(实际上可能影响多个节点)存在瓶颈;

  2. 根据新加 G 节点配置,将 A 节点部分数据搬迁(从备机)到 G 节点(可使用系统自动计算值或手工分配);

  3. 数据完全同步后,AG 校验数据库,(存在一到几十秒的只读),但整个服务不会停止。

  4. 调度通知 proxy 切换路由。

    为确保业务不停以及数据一致性,TDSQL的整个迁移过程采用移存量数据、迁移增量数据、数据检验、再追增量、切换路由、清理六个步骤循环迭代进行。如下图所示: