Logo
流量控制

背景 #

随着数据规模的不断膨胀,使用多节点集群的分布式方式逐渐成为趋势。 对集群整体视角的统一管理能力,和针对单独组件细粒度的控制能力,是基于存算分离的现代数据库体系中不可或缺的功能。

挑战 #

管控的挑战,在于对集群的集中化管理的统一管理能力以及在单点出现故障时精细化的操作能力。

集中化管理的挑战体现在将包括数据库存储节点和中间件计算节点的状态统一管理,并且能够实时的探测到分布式环境下最新的变动情况,进一步为集群的控制和调度提供依据。

面对超负荷的流量下,针对某一节点进行熔断和限流,以保证整个数据库集群得以继续运行,是分布式系统下对单一节点控制能力的挑战。

目标 #

实现从数据库到计算节点打通的一体化管理能力,在故障中为组件提供细粒度的控制能力,并尽可能的提供自愈的可能,是 DBPlusEngine 管控模块的主要设计目标。

核心概念 #

熔断 #

阻断 DBPlusEngine 和数据库的连接。 当某个 DBPlusEngine 节点超过负载后,停止该节点对数据库的访问,使数据库能够保证足够的资源为其他节点提供服务。

限流 #

面对超负荷的请求开启限流,以保护部分请求可以得以高质量的响应。