0

我已经建立了一个应用程序,它使用基于步进和简单扩展策略的自动扩展架构,使用消息 SQS 队列而不是负载均衡器。示例:如果队列上的可用消息为 10+,则从我的启动模板启动一个新实例,总共 2 个。同样,如果它们低于 10,简单扩展策略将运行实例的数量设置为等于 1 .

我注意到目标跟踪扩展策略是简单和步进扩展策略的更好替代方案。关于如何设置的任何想法/提示?

4

1 回答 1

2

我不能 100% 确定您是否使用 EC2、Fargate 等,但这里有相当多的指南:https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking。 .html _ 有很多考虑因素需要考虑,我建议在开始之前阅读它们。那里也有一些使用 CLI 的示例。

由于您想使用自定义指标,您可能应该查看https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_CustomizedScalingMetricSpecification.html,它允许您指定要从 cloudwatch 使用的指标。我不记得 QueueLength 是否是默认指标。如果不是,那么您将需要创建一个计划的 lambda 或类似的东西,以定期将其推送为要读取的自定义指标。

就我个人而言,我有一个类似的用例,其中我有几个 SQS 队列(大约 30 个),可扩展服务处理。我更喜欢使用 Lambda 来检查队列的长度并根据最大队列的长度进行缩放。我觉得它很可靠,如果你已经设置好了,你可能不会通过改变它获得太多收益。此外,有时我们的服务需求会飙升到如此之高,以至于如果我允许 AWS 按需扩展,数据库会在负载下“崩溃”。确保在扩展配置中考虑到这一点。

于 2021-01-11T21:08:48.260 回答