自动缩放规则

已完成

本单元将介绍自动缩放规则的概念。 然后,在下一个练习中,我们将触发规则。

规则

自动缩放基于一组缩放条件、规则和限制。 缩放条件包含时间和一组缩放规则。 如果当前时间处于缩放条件所定义的时段内,则评估该条件的缩放规则。 此评估结果决定了是添加还是删除实例。 缩放条件还定义缩放的最大和最小实例数限制。

使用 Azure Spring Apps 自动缩放功能,可根据指标横向扩展或缩减正在运行的实例的数目。 自动缩放规则将处理这些指标。 可以根据自身情况所需创建复杂的、互相重叠的规则。

自动缩放条件

有两种规则类型:

  • 基于指标的规则
  • 基于计划的规则

在基于指标的类型中,应用和资源的数量会水平扩展到处理负载所需的数量,但不会超过你建立的最大限制。 同样,应用和资源的数量将水平缩减到支持负载所需的数量,但不会低于你设置的最小限制。

在基于计划的规则中,应用基于预定义的计划和限制进行横向缩减和扩展。 此规则类型对于经常遵循可预测模式的情况很有用,且有助于为更多基于指标的缩放建立基线。

可以创建多个自动缩放条件以处理不同的计划和指标。 应用下列任一条件时,Azure 自动缩放服务。 你还可以定义一个在其他条件都不适用的情况下将使用的默认条件。 此条件始终处于活动状态,因此没有计划。

自动缩放操作

当自动缩放规则检测到某个指标超出阈值时,就会执行自动缩放操作。 自动缩放操作可以是横向扩展或缩小。 横向扩展操作会增加实例数,而横向缩减操作会减少实例数。 自动缩放操作使用运算符(例如“小于”、“大于”、“等于”等)来确定如何对阈值做出反应。 横向扩展操作通常使用“大于”运算符来比较指标值和阈值。 横向缩减操作通常使用“小于”运算符来比较指标值和阈值。 自动缩放操作可将实例数设置为特定级别,而不是递增或递减可用的数。

自动缩放操作有冷却期,以分钟为单位。 在此间隔内,无法再次触发缩放规则。 此冷却期使系统能够在自动缩放事件之间变稳定。 请记住,启动或关闭实例需要时间,因此任何收集的指标可能在几分钟内不会显示任何显著更改。

在横向缩减过程中进行估算是为了避免“抖动”情况,在这种情况下,横向缩减和横向扩展操作会不断地来回进行。 当为横向扩展和横向缩减选择相同的阈值时,请记住此行为。