RES13-01 采用自动弹性扩缩容
当系统突发流量时,通过自动弹性扩容,可减少业务中断影响。
- 风险等级
高
- 关键策略
弹性扩缩容需要通过业务处理逻辑与数据分离、状态外置等技术手段支撑系统处理能力的快速增加或减少。
系统扩容和缩容的处理方式有两种,一种是改变单机的处理能力,包括CPU、内存、存储等,称之为纵向伸缩;另一种是单机节点处理能力不变,通过增加节点的数量来改变系统的处理能力,称之为横向伸缩。
系统设计时一般建议采用横向伸缩。采用横向伸缩时,要求业务与数据解耦,即将系统的业务处理逻辑与数据分离、数据(状态)外置,以实现业务节点(含资源)无状态,按需快速增加或减少,从而实现系统业务处理能力的伸缩。
当节点故障或资源不足时,系统需要自动检测和扩展节点,以实现自动横向扩缩容,自动增加资源容量,解决业务处理能力不足的问题,无需人工干预。
华为云提供AS弹性伸缩服务,可以根据伸缩组内的负载情况,及伸缩规则,自动调整ECS实例、带宽等资源。当业务需求增长时,AS自动增加弹性云服务器(ECS)实例或带宽资源,以保证业务能力;当业务需求下降时,AS自动缩减弹性云服务器(ECS)实例或带宽资源,以节约成本。
此外,华为云还提供了一些内嵌伸缩能力的云服务,对用户无感知或仅需简单配置:
- OBS、SFS、FunctionGraph等服务会根据请求量自动扩展业务处理能力,用户无感知。
- RDS服务最多支持5个只读副本,可在线扩展只读负载;一键规格变更实现CPU、内存扩容/缩容;在线存储容量扩容。
- CCE服务支持配置自动扩容集群节点和工作负载,伸缩策略支持告警(按CPU或内存使用率触发)、定时、周期多种方式。
- 相关云服务和工具
- 弹性伸缩 AS
- 云容器引擎 CCE
- 云数据库 RDS
- 对象存储服务 OBS
- 弹性文件服务 SFS
- 函数工作流 FunctionGraph