在分布式应用管理中,弹性伸缩具有重要的运维作用。弹性伸缩能够感知应用内各实例的状态,并根据这些状态的动态变化实现应用的自动扩缩容,保证应用服务质量的同时,提升了应用的高可用率。本文为您介绍通过弹性伸缩实现EDAS应用的自动扩缩容方法。

背景信息

  • 企业级分布式应用服务EDAS(Enterprise Distributed Application Service)是一个应用托管和微服务管理的云原生PaaS平台,提供应用开发、部署、监控、运维等全栈式解决方案。更多信息,请参见什么是企业级分布式应用服务EDAS
  • 弹性伸缩适用于在EDAS ECS集群中创建的应用(例如互联网、新零售、游戏以及社交平台等行业),该类应用在促销活动期间容易出现突发性流量高峰,服务等级协议SLA(Service Level Agreement)和资源成本很难达到平衡,极易出现系统响应延迟、系统瘫痪等问题。而EDAS具有应对突发性流量高峰的技术,结合弹性伸缩能力为该类应用提供秒级的自动扩缩容功能,保证SLA的同时也节省机器的保有成本。
    说明 ECS集群是EDAS为应用提供的ECS部署环境。如果想要将应用托管到EDAS的ECS环境,需要先创建ECS集群,具体操作,请参见使用控制台创建ECS集群使用API创建ECS集群
  • 在单实例环境中,弹性伸缩可确保始终有一个正在运行的实例。在流量变化迅速的环境中,弹性伸缩可配置要运行的实例数范围,EDAS将根据设置的负载规则自动添加或删除实例。弹性伸缩功能根据应用实例的指标来判断并实现自动扩缩容,具体指标如下所示:
    指标说明
    CPUCPU使用率,以百分比表示。
    RT对请求作出的响应时间,单位为ms。
    Load应用实例的负载大小,以正整数表示。

注意事项

  • 如果同时配置扩容规则和缩容规则时,缩容规则的指标不能大于扩容规则的指标,否则在保存伸缩规则时会弹出错误提示。
  • 如果应用使用了弹性资源,缩容时会优先释放弹性资源提供的实例。

操作步骤

通过弹性伸缩可以实现EDAS应用的自动扩容或者自动缩容,您可以在EDAS控制台配置扩容规则或者缩容规则的相关参数。本文以配置扩容规则为例,为您介绍通过弹性伸缩实现EDAS应用的自动扩容。

说明 关于如何配置缩容规则,请您参考配置扩容规则的方法进行。
  1. 登录企业级分布式应用服务EDAS控制台
  2. 在左侧导航栏,选择应用管理 > 应用列表
  3. 在顶部菜单栏选择地域。
  4. 应用列表页面上方位置,选择所属微服务空间后的所有微服务空间
  5. 应用列表页面,找到待操作的应用并单击具体的应用名称。
  6. 在应用详情页面的左侧导航栏中,单击弹性伸缩
  7. 扩容规则区域的右上角位置,单击开关图标开启扩容规则功能。
  8. 配置扩容规则参数。
    1. 设置触发指标:设置CPU、RT以及Load指标的阈值。当超过指定阈值时,自动触发扩容操作。
    2. 选择触发条件
      • 任一指标:表示设定的指标中任意一个指标被触发都会引起扩容操作。例如,设置了CPU和RT指标阈值,只要触发CPU或者RT任一指标,就会引起扩容操作。
      • 所有指标:表示设定所有指标必须全部被触发才能引发自动扩容操作。例如,设置了CPU和RT指标阈值,必须同时触发CPU和RT任两个指标,才会引起扩容操作。
    3. 设置持续时间超过:指标持续被触发的时间,单位为分钟。表示在持续时间内,指标每分钟的平均值持续达到设置的阈值,就会引起扩容操作,您可以根据ECS集群服务能力的灵敏度酌情设置。
    4. 选择应用来源
      • 已有资源:自动扩容时会从当前应用所在集群选择指定数量的闲置ECS实例扩容到该应用。
        说明 当所在集群中现有的ECS实例数量不够,无法满足扩容需求时,EDAS会根据已有实例数量来进行扩容。
      • 弹性资源:基于现有实例规格或基于实例启动模板来代购实例,然后自动将代购的实例导入所在集群并用于应用扩容。弹性资源

        主要参数说明如下所示:

        参数描述
        创建方式
        • 基于现有实例规格购买:从所在集群内已有的实例规格中选择一个作为模板来代购实例。
        • 基于实例启动模板购买:会基于您在云服务器ECS控制台创建的实例启动模板来代购实例。
        模板主机/启动模板
        • 当创建方式选择基于现有实例规格购买方式时,该参数显示为模板主机,表示选择一个现有实例规格作为模板来代购实例。
        • 当创建方式选择基于实例启动模板购买方式时,该参数显示为启动模板,表示选择一个启动模板作为模板来代购实例。
        登录密钥当创建方式选择基于现有实例规格购买时,需要选择登录密钥。
        服务协议选中《云服务器ECS服务条款》 | 《镜像商品使用条款》
        (可选)高级选项
        • 当创建方式选择基于现有实例规格购买时,输入登录密码后,新创建的ECS实例将以此密钥对作为SSH登录认证方式。
        • 当创建方式选择基于实例启动模板购买时,网络类型为您需要扩容的当前应用所在的网络,不可更改。如果当前网络为VPC网络,需要指定新创建实例连接的虚拟交换机;若指定多个虚拟交换机,EDAS将通过多可用区扩缩容策略(优先级策略或均衡分布策略)来进行自动分配。
      • 已有资源优先:自动扩容时优先使用集群内空闲实例,如果集群内的空闲实例不足,则使用弹性伸缩功能为您代购实例。
    5. 设置每次扩容的实例数:每次触发扩容操作后,自动增加的实例个数。
    6. 设置分组最大实例数:当集群内服务器数量达到配置的最大实例数后,不再继续扩容,请根据您的资源限额配置。
  9. 弹性伸缩页面的底部位置,单击保存

自动扩缩容结果验证

设置了弹性伸缩规则后,如果发生了自动扩容或者自动缩容操作后,您可以通过以下方式来查看伸缩结果:

  • 在应用的基本信息页面中,查看实例数量是否增加或者减少。

    如果实例数量增加或者减少了,表示应用实现了自动扩缩容。

  • 在应用详情页面的左侧导航栏,单击变更记录后,找到待查看的应用变更记录,查看具体变更明细。

    对于变更类型为应用扩容应用缩容,且来源是auto_scale的变更记录,单击应用对应操作列的查看,进入变更详情页面查看变更明细。