开发者社区 问答 正文

弹性伸缩的工作流程


下图是弹性伸缩的工作流程。


创建好伸缩组、伸缩配置、伸缩规则、伸缩触发任务后,系统会自动化执行以下流程(以增加 ECS 实例为例):

  1. 伸缩触发任务会按照各自 [backcolor=transparent]触发生效的条件 来触发伸缩活动。
    • 云监控任务会实时监控伸缩组内 ECS 实例的性能,并根据用户配置的报警规则(如伸缩组内所有 ECS 实例的 CPU 平均值大于 60%)触发执行伸缩规则请求。
    • 定时任务会根据用户配置的时间来触发执行伸缩规则请求。
    • 您可以根据自己的监控系统及相应的报警规则(如在线人数、作业队列)来触发执行伸缩规则请求。
    • 健康检查任务会定期检查伸缩组和 ECS 实例的健康情况,如发现有不健康的 ECS 实例(如 ECS 为非running 状态)会触发执行 [backcolor=transparent]移出该 ECS 实例 的请求。

  • 系统自动通过 ExecuteScalingRule 接口触发伸缩活动,并在该接口中指定需要执行的伸缩规则的阿里云资源唯一标识符(Ari)。
    如果是用户自定义的任务,则需要用户在自己的程序中调用 ExecuteScalingRule 接口来实现。

  • 根据步骤 2 传入的伸缩规则 Ari(Rule Ari)获取伸缩规则、伸缩组、伸缩配置的相关信息,并创建伸缩活动。通过伸缩规则 Ari 查询伸缩规则以及相应的伸缩组信息,计算出需要增加的 ECS 实例数量,并获得需要配置的负载均衡和 RDS 信息。
  • 通过伸缩组查询到相应的伸缩配置信息,即获得了需要创建的ECS实例的配置信息(CPU、内存、带宽等)。
  • 根据需要增加的 ECS 实例数量、ECS 实例配置信息、需要配置的负载均衡实例和 RDS 实例创建伸缩活动。

  • 在伸缩活动中,自动创建 ECS 实例并配置负载均衡和 RDS。
    1. 按照实例配置信息创建指定数量的 ECS 实例。
    2. 将创建好的 ECS 实例的内网 IP 添加到指定的 RDS 实例的访问白名单当中,将创建好的 ECS 实例添加到指定的负载均衡实例当中。

    伸缩活动完成后,启动伸缩组的冷却功能。待冷却时间完成后,该伸缩组才能接收新的执行伸缩规则请求。

    展开
    收起
    反向一觉 2017-10-27 11:20:24 2057 分享 版权
    阿里云 AI 助理回答

    您描述的是阿里云弹性伸缩(Auto Scaling)服务的工作流程,该服务旨在自动调整云产品实例的数量,以应对业务负载的变化。下面是对您提到的流程各步骤的简要解析和补充说明:

    1. 创建基础组件:首先,用户需要在阿里云控制台上配置几个关键组件:

      • 伸缩组:定义了需要被自动管理的ECS实例集合及其特性。
      • 伸缩配置:详细说明了新创建的ECS实例的规格,如CPU、内存、镜像、存储等。
      • 伸缩规则:规定了何时以及如何调整ECS实例数量,比如增加或减少多少台。
      • 伸缩触发任务:包括云监控任务、定时任务等,它们根据预设条件自动触发伸缩活动。
    2. 触发机制

      • 云监控任务:实时监控ECS实例性能指标,如CPU使用率超过设定阈值时触发伸缩。
      • 定时任务:按照用户设定的时间点执行伸缩操作。
      • 自定义触发:用户可以通过API调用或SDK来手动触发伸缩规则,或者基于自己的监控系统集成。
    3. 健康检查与移除不健康实例:确保伸缩组内所有ECS实例运行正常,若发现不健康的实例(例如状态非running),会自动触发移除操作,保证服务的稳定性。

    4. 执行伸缩活动

      • 通过ExecuteScalingRule接口,根据指定的伸缩规则Ari启动伸缩活动。
      • 获取相关配置信息,计算所需ECS实例数量,并准备负载均衡和RDS配置。
    5. 创建与配置ECS实例

      • 根据伸缩配置创建ECS实例,同时将其添加到相应的负载均衡后端服务器池中,确保流量分发。
      • 将新ECS实例的内网IP加入到关联的RDS访问白名单,以便数据库访问。
    6. 冷却时间:伸缩活动完成后,伸缩组进入冷却期,此期间不会响应新的伸缩请求,以防频繁调整导致资源浪费或不稳定。

    整个过程自动化程度高,能够有效应对突发流量,保障业务连续性和成本效率。用户可以根据实际需求灵活配置各项参数,实现资源的动态优化。

    有帮助
    无帮助
    AI 助理回答生成答案可能存在不准确,仅供参考
    0 条回答
    写回答
    取消 提交回答