微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将目标跟踪策略与 SQS 队列结合使用?

如何解决如何将目标跟踪策略与 SQS 队列结合使用?

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

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

解决方法

我不能 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 根据需要进行扩展,数据库会在负载下“崩溃”。请确保在扩展配置中考虑到这一点。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。