You need to enable JavaScript to run this app.
导航
连接保持
最近更新时间:2024.08.27 14:45:46首次发布时间:2024.08.22 10:20:34

为确保运维操作(如主备切换、变更配置等)期间数据库连接的可用和稳定性,veDB MySQL 提供连接保持功能。该功能可以确保在操作过程中连接不会主动断开,从而提高业务系统的稳定性。

注意事项

连接保持目前为白名单功能,如需使用,请提交工单联系技术支持。

原理介绍

  • 主节点切换

    在计划内的主节点切换场景下,如升降配置、手动主备切换、变更实例版本时,数据库代理会在旧主节点切换到新主节点的过程中,暂停将连接的请求路由到旧主节点上。若新主节点的写入能力在 60 秒内恢复,数据库代理到新主节点的连接将会重建,连接的状态(如字符集编码、用户变量)与主节点切换前保持一致,被暂停的请求将被路由到新主节点,在此过程中应用程序的连接不会闪断也不会报错。若新主节点未能在 60 秒内恢复写入,则数据库代理会断开与应用程序的连接。

  • 只读节点下线
    在减少只读节点个数和变更只读节点规格场景下,数据库代理感知到只读节点下线后,不会将新请求路由到该只读节点。只读节点上正在执行的请求,需要在 60s 内完成,否则连接将会报错。

  • 数据库代理配置变更
    在变更实例节点规格或只读节点数量时,数据库代理会根据一定的规则自动调整自身规格和副本数,通过保留旧的数据库代理副本,保证存量连接不会立即闪断,新连接将路由到新的数据库代理副本。

使用限制

部分场景下,连接无法保持。对于无法保持连接的情况,将在运维操作时断开该连接,详情如下:

  • 存在 Binlog 传输。

  • 连接上使用 LOAD DATA 语句。

  • 存在临时表。

  • 存在长时间未提交的事务,断开连接后,未提交事务进行回滚。

此外,对于一些特殊场景,执行运维操作时连接不会断开,但会导致信息缺失,例如若上一次执行结果存在 warning 信息,这种场景下可以保持连接,但 show warnings 结果可能为空。

连接地址

不同类型的连接地址对连接保持的支持情况如下:

连接地址类型是否支持连接保持
主节点地址支持
默认地址支持

自定义只读地址

支持

说明

若自定义只读终端仅关联了一个只读节点,则不支持连接保持。

自定义读写地址支持

HTAP 连接地址

支持

说明

分析节点的节点个数和规格变更,不支持连接保持。

变更场景

veDB MySQL 变更实例配置时,连接的保持状态和变更影响如下表所示:

变更场景连接保持QPS 是否跌零开启连接保持功能影响未开启连接保持功能影响
减少只读节点个数在数据库代理配置变更冷静期(24 小时)内请保持连接,超出冷静期后,数据库可能会出现连接闪断。在变更配置期间,数据库可能会出现连接闪断。因此,建议在业务低峰期执行变配操作,并确保应用具备自动重连机制。
增加只读节点个数在数据库代理配置变更冷静期(24 小时)内请保持连接,超出冷静期后,数据库可能会出现连接闪断。在变更配置期间,数据库可能会出现连接闪断。因此,建议在业务低峰期执行变配操作,并确保应用具备自动重连机制。
升级节点规格是,持续 10s~20s在数据库代理配置变更冷静期(24 小时)内请保持连接,超出冷静期后,数据库可能会出现连接闪断。在变更配置期间,数据库可能会出现连接闪断。因此,建议在业务低峰期执行变配操作,并确保应用具备自动重连机制。
降低节点规格是,持续 10s~20s在数据库代理配置变更冷静期(24 小时)内请保持连接,超出冷静期后,数据库可能会出现连接闪断。在变更配置期间,数据库可能会出现连接闪断。因此,建议在业务低峰期执行变配操作,并确保应用具备自动重连机制。
变更存储空间大小
创建分析节点
增加分析节点个数
变更分析节点规格连接正常,但 AP 请求可能会报错。连接正常,但 AP 请求可能会报错。
减少分析节点个数连接正常,但 AP 请求可能会报错。连接正常,但 AP 请求可能会报错。
删除所有分析节点连接正常,AP 请求报错。连接正常,AP 请求报错。
重启实例实例重启会造成连接中断,重启前请做好业务安排。建议在业务低峰期执行重启操作,并确保应用具备自动重连机制。实例重启会造成连接中断,重启前请做好业务安排。建议在业务低峰期执行重启操作,并确保应用具备自动重连机制。
主动切换主节点是,持续 10s~20s连接正常,但写请求会有 10s~20s 阻塞情况。切换主节点期间数据库可能会有 1~2 次闪断,请确保您的应用程序具有自动重连机制,以降低数据库连接闪断对业务的影响。
变更实例版本是 ,持续 10s~20s连接正常,但写请求会有 10s~20s 阻塞情况。变更实例版本期间数据库可能会有 1~2 次闪断,请确保您的应用程序具有自动重连机制,以降低数据库连接闪断对业务的影响。