触发器(自动伸缩)
Galaxy 触发器允许您自动更改容量配置以适应流量。

触发器提供了一种可配置的方式来在您的应用中执行操作;这对于需要动态适应需求的专业应用非常重要。例如,教育应用在课堂期间会使用更多资源,但在夜间和周末可以减少容量。
我们仅收取每个容器的运行时长费用,因此当您的应用连接数较少时,您可以减少每月运行的小时数并节省资金。
所有专业应用均可使用触发器。您可以在 Galaxy 仪表板上的应用设置中配置触发器。

如果您更喜欢视频,可以点击此处观看。
Galaxy 每分钟检查所有触发器;您无需为运行触发器支付额外费用,它们在 Galaxy 服务器上运行。
每个触发器可以根据某些规则执行不同的操作。要运行触发器,规则需要匹配。对于每个触发器,您可以选择是否需要所有规则都匹配(AND)或仅需一个规则匹配(OR)才能继续执行操作。
您还可以将触发器限制为仅在特定日期和/或特定时间(小时之间的时间间隔)运行。小时数均为包含;例如,如果您希望触发器仅在凌晨 1 点运行,则可以将开始小时和结束小时都设置为 1。
您还可以选择触发器的运行间隔;您可以选择它以秒为单位运行的频率(最少 60 秒)。

我们为每次触发器运行记录有用的信息;您可以在触发器的“日志”部分中查看它们。阅读日志可以帮助您了解触发器操作为何执行或未执行,以便您调整配置。每次保存配置时,Galaxy 都会在下一轮检查(每分钟)中运行您的触发器。

我们还在我们的公共API中公开了触发器,因此如果您愿意,您可以以编程方式更改触发器。
触发器使用来自您应用的指标根据您的规则做出决策。您可以使用以下指标:CPU 使用率(%)、内存使用率(%)和连接数。
我们支持三个样本时长(样本时长):5 秒、3 分钟和 1 小时,因此您可以选择最佳时长来检查您的应用指标。您还可以选择要使用的样本数(样本数量);例如,您可以选择 12 个 5 秒的样本,这意味着您将根据最近一分钟(最近 60 秒)的数据做出决策。
每个指标都从您的容器中提取,然后我们计算每个样本中所有容器之间的简单平均值。例如,如果您有 3 个容器,并且选择了 3 个样本,使用 3 分钟作为样本时长,那么您将有 3 个值,分别对应于 3 分钟前、6 分钟前和 9 分钟前容器的平均值。
这些指标与您在“容器”选项卡中容器的图表中看到的指标相同。

每个规则都将与这些指标(每个时间戳的样本平均值)进行比较,以决定是否要执行触发器操作。
目前我们支持三种操作:添加、移除和终止容器。如果您有新的操作想法,请提交工单(support@meteor.com)。
由于添加和移除容器的操作会更改应用正在运行的容器数量,因此我们为您提供了设置限制的功能。您可以选择应用应具有的最小容器数和最大容器数。您还可以选择如果触发器操作被触发将添加或移除多少个容器;此配置称为“步长”。
重要:添加容器操作绝不会移除容器,而移除容器操作绝不会添加容器,因此请确保始终将两者都配置了正确的最大值和最小值配置,并且它们在一起是有意义的。此外,在规则之前会检查最小值和最大值,如果它们配置不正确,此运行将修复它。
当规则返回 true(匹配)时,添加容器操作将向您的应用添加更多容器。您可以根据需要配置触发器。
通常,您将根据 CPU 使用率(%)或连接数进行配置;例如,如果您知道您的容器通常处理 500 个连接,则可以在每个容器达到 450 个连接时添加一个规则来添加更多容器。建议使用OR,如果您想在此处使用多个规则,则如果任何规则返回 true,您都会扩展您的应用。
打开通知以获取活动触发器添加容器限制错误非常重要,这样您就知道您的添加容器操作是否由于达到帐户限制而无法工作。您可以随时联系Galaxy 支持来增加您的容器限制。您可以在“帐户”设置中查看当前限制。
此活动是在触发器发布时引入的,因此请查看您的通知。

当规则返回 true(匹配)时,移除容器操作将从您的应用中移除容器。您可以根据需要配置触发器。
通常,您将根据 CPU 使用率(%)或连接数进行配置;例如,如果您知道您的应用可以为用户提供良好的体验,直到 CPU 使用率达到 70%,那么您可以在每个容器的 CPU 使用率达到 60% 时添加一个规则来移除容器。建议使用AND,如果您想在此处使用多个规则,则如果任何规则仍然超过预期,则您不会缩减您的应用。

当规则返回 true(匹配)时,终止容器操作将终止您的应用中的容器。您可以根据需要配置触发器。
此操作与手动点击仪表板中每个容器下方的终止容器图标相同。
通常,您将根据 CPU 使用率(%)或连接数进行配置;例如,如果您知道您的应用可以为用户提供良好的体验,直到 CPU 使用率达到 80%,那么您可以在 CPU 使用率达到 80% 或更高时添加一个规则来终止容器。当然,如果您没有正确地使用添加容器操作,此操作将不足以应对大量连接的情况,因为每个容器的 CPU 使用率将持续上升。
此操作在扩展事件(添加容器操作)之后也很有用,该事件导致您的旧容器(扩展事件之前正在运行的容器)处理的连接比应有的更多。因此,此操作将强制这些集中在旧容器中的连接进行分散。如您所知,除非容器不再可用,否则 Galaxy 不会将现有连接更改为新容器;Galaxy 这样做是为了避免重新连接,这可能会由于重新加载现有订阅而导致数据库负载增加。
另一种情况是当您有不同的用户配置文件使用您的应用,并且某些配置文件导致的负载比其他配置文件多(重度用户或管理员)。如果您运气不好,您可能会在同一个容器中获得大量重度用户,从而导致特定容器上的巨大负载。因此,终止此容器也将导致这些重度用户分散到各个容器中,并改善用户体验。
此操作不会更改正在运行的容器数量;它只会强制替换特定容器。与仪表板中的终止容器图标相同。如果您在应用中运行的容器少于 3 个,我们不建议使用此操作。
此操作后,Galaxy 将重新分配您的用户(连接)到其他容器,但如果您想在此情况下检查应用的行为,我们建议您在浏览器中加载您的应用,在浏览器的开发者工具中检查cookiegalaxy-sticky(值类似于!s6f3HQaHBwacbYAaK-seree),连字符后面是您的容器名称。然后转到 Galaxy 仪表板并手动终止此容器。您将看到您的应用是否正在正确处理重新连接,因为 Galaxy 将重新将您的应用连接到另一个容器。即使您不想使用此操作,也建议查看您的应用在重新连接时的行为,因为容器替换时随时可能发生重新连接。

原因
触发器提供了一种可配置的方式来在您的应用中执行操作;这对于需要动态适应需求的专业应用非常重要。例如,教育应用在课堂期间会使用更多资源,但在夜间和周末可以减少容量。
我们仅收取每个容器的运行时长费用,因此当您的应用连接数较少时,您可以减少每月运行的小时数并节省资金。
所有专业应用均可使用触发器。您可以在 Galaxy 仪表板上的应用设置中配置触发器。

工作原理
如果您更喜欢视频,可以点击此处观看。
Galaxy 每分钟检查所有触发器;您无需为运行触发器支付额外费用,它们在 Galaxy 服务器上运行。
每个触发器可以根据某些规则执行不同的操作。要运行触发器,规则需要匹配。对于每个触发器,您可以选择是否需要所有规则都匹配(AND)或仅需一个规则匹配(OR)才能继续执行操作。
您还可以将触发器限制为仅在特定日期和/或特定时间(小时之间的时间间隔)运行。小时数均为包含;例如,如果您希望触发器仅在凌晨 1 点运行,则可以将开始小时和结束小时都设置为 1。
您还可以选择触发器的运行间隔;您可以选择它以秒为单位运行的频率(最少 60 秒)。

我们为每次触发器运行记录有用的信息;您可以在触发器的“日志”部分中查看它们。阅读日志可以帮助您了解触发器操作为何执行或未执行,以便您调整配置。每次保存配置时,Galaxy 都会在下一轮检查(每分钟)中运行您的触发器。

我们还在我们的公共API中公开了触发器,因此如果您愿意,您可以以编程方式更改触发器。
指标
触发器使用来自您应用的指标根据您的规则做出决策。您可以使用以下指标:CPU 使用率(%)、内存使用率(%)和连接数。
我们支持三个样本时长(样本时长):5 秒、3 分钟和 1 小时,因此您可以选择最佳时长来检查您的应用指标。您还可以选择要使用的样本数(样本数量);例如,您可以选择 12 个 5 秒的样本,这意味着您将根据最近一分钟(最近 60 秒)的数据做出决策。
每个指标都从您的容器中提取,然后我们计算每个样本中所有容器之间的简单平均值。例如,如果您有 3 个容器,并且选择了 3 个样本,使用 3 分钟作为样本时长,那么您将有 3 个值,分别对应于 3 分钟前、6 分钟前和 9 分钟前容器的平均值。
这些指标与您在“容器”选项卡中容器的图表中看到的指标相同。

每个规则都将与这些指标(每个时间戳的样本平均值)进行比较,以决定是否要执行触发器操作。
操作
目前我们支持三种操作:添加、移除和终止容器。如果您有新的操作想法,请提交工单(support@meteor.com)。
由于添加和移除容器的操作会更改应用正在运行的容器数量,因此我们为您提供了设置限制的功能。您可以选择应用应具有的最小容器数和最大容器数。您还可以选择如果触发器操作被触发将添加或移除多少个容器;此配置称为“步长”。
重要:添加容器操作绝不会移除容器,而移除容器操作绝不会添加容器,因此请确保始终将两者都配置了正确的最大值和最小值配置,并且它们在一起是有意义的。此外,在规则之前会检查最小值和最大值,如果它们配置不正确,此运行将修复它。
添加容器
当规则返回 true(匹配)时,添加容器操作将向您的应用添加更多容器。您可以根据需要配置触发器。
通常,您将根据 CPU 使用率(%)或连接数进行配置;例如,如果您知道您的容器通常处理 500 个连接,则可以在每个容器达到 450 个连接时添加一个规则来添加更多容器。建议使用OR,如果您想在此处使用多个规则,则如果任何规则返回 true,您都会扩展您的应用。
打开通知以获取活动触发器添加容器限制错误非常重要,这样您就知道您的添加容器操作是否由于达到帐户限制而无法工作。您可以随时联系Galaxy 支持来增加您的容器限制。您可以在“帐户”设置中查看当前限制。
此活动是在触发器发布时引入的,因此请查看您的通知。

移除容器
当规则返回 true(匹配)时,移除容器操作将从您的应用中移除容器。您可以根据需要配置触发器。
通常,您将根据 CPU 使用率(%)或连接数进行配置;例如,如果您知道您的应用可以为用户提供良好的体验,直到 CPU 使用率达到 70%,那么您可以在每个容器的 CPU 使用率达到 60% 时添加一个规则来移除容器。建议使用AND,如果您想在此处使用多个规则,则如果任何规则仍然超过预期,则您不会缩减您的应用。

终止容器
当规则返回 true(匹配)时,终止容器操作将终止您的应用中的容器。您可以根据需要配置触发器。
此操作与手动点击仪表板中每个容器下方的终止容器图标相同。
通常,您将根据 CPU 使用率(%)或连接数进行配置;例如,如果您知道您的应用可以为用户提供良好的体验,直到 CPU 使用率达到 80%,那么您可以在 CPU 使用率达到 80% 或更高时添加一个规则来终止容器。当然,如果您没有正确地使用添加容器操作,此操作将不足以应对大量连接的情况,因为每个容器的 CPU 使用率将持续上升。
此操作在扩展事件(添加容器操作)之后也很有用,该事件导致您的旧容器(扩展事件之前正在运行的容器)处理的连接比应有的更多。因此,此操作将强制这些集中在旧容器中的连接进行分散。如您所知,除非容器不再可用,否则 Galaxy 不会将现有连接更改为新容器;Galaxy 这样做是为了避免重新连接,这可能会由于重新加载现有订阅而导致数据库负载增加。
另一种情况是当您有不同的用户配置文件使用您的应用,并且某些配置文件导致的负载比其他配置文件多(重度用户或管理员)。如果您运气不好,您可能会在同一个容器中获得大量重度用户,从而导致特定容器上的巨大负载。因此,终止此容器也将导致这些重度用户分散到各个容器中,并改善用户体验。
此操作不会更改正在运行的容器数量;它只会强制替换特定容器。与仪表板中的终止容器图标相同。如果您在应用中运行的容器少于 3 个,我们不建议使用此操作。
此操作后,Galaxy 将重新分配您的用户(连接)到其他容器,但如果您想在此情况下检查应用的行为,我们建议您在浏览器中加载您的应用,在浏览器的开发者工具中检查cookiegalaxy-sticky(值类似于!s6f3HQaHBwacbYAaK-seree),连字符后面是您的容器名称。然后转到 Galaxy 仪表板并手动终止此容器。您将看到您的应用是否正在正确处理重新连接,因为 Galaxy 将重新将您的应用连接到另一个容器。即使您不想使用此操作,也建议查看您的应用在重新连接时的行为,因为容器替换时随时可能发生重新连接。
更新时间:2024/07/15
谢谢!