文档

过载保护

更新时间:

本文介绍了过载保护功能的原理和使用方法。

背景

当用户做促销活动时,数据库主库的CPU资源容易负载过高,这时就需要对数据库进行变配(升级),但变配的过程中整个集群的请求可能都会路由到主节点,导致主节点CPU资源超负载甚至雪崩,从而影响用户业务的连续性。为了缓解此种情况的发生,PolarDB MySQL版在代理层提供过载保护功能。

使用限制

  • 该功能要求数据库代理的版本为2.8.1或以上,支持PolarDB MySQL版 5.6,5.7,8.0。

  • 该功能当前只支持可读可写类型的Endpoint。

  • 当前只有在所有只读节点异常(宕机或者与主库的复制中断)的情况下,才会触发过载保护,其它场景暂时未支持。

使用说明

在控制台基本信息的集群地址区域,单击编辑配置,打开编辑地址配置页面,可开启过载保护。

456789

基于漏桶原理,当代理端检测到集群中的所有RO节点均异常时,开始主动对集群的并发请求进行限制以达到保护主库的目的。当RO节点正常或者超出限制时间后(默认60s),取消限制。

对于限流的上限,PolarDB MySQL版集群是通过历史数据来选取合适的区间。在集群正常服务期间,代理会记录该实例主节点最近24小时的采样并发请求数。

当触发过载保护后,目前代理会使用历史数据的中位数作为上限对用户的活跃连接数进行限流。

示例

测试过程中所有只读节点复制中断,进入过载保护。在这期间流量还可以持续进来,但是不会进一步飙升。

在只读节点恢复后,过载保护结束,流量可以正常进行转发。

456789
  • 本页导读 (0)