跳到主要内容

运行模式与扩缩容

本文档介绍云托管的运行模式及扩缩容机制,帮助您选择最适合业务场景的配置方案。

运行模式概览

云托管提供以下几种运行模式,满足不同的业务需求:

运行模式详解

始终自动扩缩容

在此模式下,云托管服务会根据实际负载情况自动调整实例数量:

  • 扩缩容范围:实例数量可在 0-10 之间自动调整
  • 触发指标:可选择 CPU 使用率、内存使用率或两者同时作为扩缩容触发条件
  • 优势:最大程度节约资源,自动应对流量波动,降低运营成本

此模式特别适合流量波动较大或不可预测的业务场景。

持续运行

持续运行模式下,服务会保持固定数量的实例持续运行,不会自动扩缩容。

适用场景

  • 服务流量相对稳定,无明显波峰波谷
  • 需要保证服务始终处于热启动状态,避免冷启动延迟
  • 对服务可用性要求极高的核心业务

在此模式下,您需要根据业务峰值预估所需实例数量,确保服务稳定运行。

白天持续运行,夜间自动扩缩容

此模式结合了持续运行和自动扩缩容的优势:

  • 白天时段(8:00-24:00):保持指定数量的实例持续运行
  • 夜间时段(0:00-8:00):启用自动扩缩容,实例可缩至 0

适合工作时间流量较高、非工作时间流量显著降低的业务场景,如企业内部系统、办公应用等。

自定义

自定义模式提供最灵活的配置选项,包括:

  • 自动扩缩容

    • 配置实例的最大及最小数量
    • 选择 CPU 或内存使用率作为触发条件
    • 设置触发阈值和检测周期
  • 定时扩容

    • 指定时间段内保持最小实例数
    • 定时扩容的实例数需大于自动扩缩容的最小实例数
    • 在定时期间仍可自动扩容,但不超过最大实例限制

此模式适合有明确流量模式且需要精细控制资源的场景,如电商促销、定期任务处理等。

手工启停实例

手工启停模式下,实例完全由人工控制,不会自动扩缩:

  • 实例不会因无请求而自动缩容
  • 实例不会因负载增加而自动扩容
  • 所有实例变更都需通过控制台或 API 手动操作

操作方式

  • 启动实例

    • 通过控制台版本列表中的"启动实例"操作
    • 通过 API 调用启动实例
    • 控制台的每次操作启动一个实例,需多次操作启动多个实例
  • 停止实例

    • 通过控制台实例列表中的"停止实例"操作
    • 通过 API 调用停止实例
    • 可选择指定实例进行停止

此模式适合需要完全控制实例生命周期的场景,如开发测试环境或特殊业务需求。

实例资源使用

手工启停实例的情况下,如果实例启动后遗忘了停止实例,可能会产生不必要的资源浪费,会产生较多的计费开销。

扩缩容机制详解

实例扩容过程

实例扩容分为两个阶段:

  1. 从 0 到 1 扩容(冷启动)

    • 触发条件:服务完全缩容后收到新请求
    • 过程:启动一个新实例,实例就绪后开始处理请求
    • 耗时因素:平台资源状态、镜像大小、业务代码启动时间等
    • 用户体验:首次请求可能有一定延迟
  2. 从 1 到多实例扩容

    • 触发条件:已有实例的平均 CPU/内存使用率达到或超过配置的扩容阈值
    • 过程:启动新实例,新实例就绪后加入负载均衡
    • 持续监测:如检测周期后仍超过阈值,将继续扩容
    • 限制:实例数量不超过配置的最大值

实例缩容机制

  • 触发条件:实例无访问、无流量,闲置 10 分钟
  • 缩容行为:回收并销毁闲置实例
  • 最小实例:当配置了最小实例为 0 时,可能缩容至无实例状态
  • 后续请求:全部缩容后的新请求将触发冷启动过程

实例销毁说明

  • 实例在缩容后将被完全销毁
  • 实例内的临时文件、内存数据等将一并清除
  • 重要提示:请确保您的应用是无状态的,所有持久化数据应存储在外部存储服务中

选择合适的运行模式

运行模式适用场景成本效益响应速度
始终自动扩缩容流量波动大、不可预测最优可能有冷启动延迟
持续运行流量稳定、高可用要求固定较高最佳(无冷启动)
白天持续运行,夜间自动扩缩容工作时间集中型应用较优工作时间最佳,非工作时间可能有延迟
自定义有明确流量模式、需精细控制可优化可根据配置优化
手工启停实例开发测试、特殊业务需求完全可控取决于人工操作及时性