Как вы можете использовать политики отслеживания целей с очередями SQS?

#amazon-web-services #message-queue #autoscaling #aws-policies

#amazon-web-services #очередь сообщений #автоматическое масштабирование #aws-политики

Вопрос:

Я настроил приложение, которое использует архитектуру автоматического масштабирования на основе политик пошагового и простого масштабирования, используя очередь сообщений SQS, а не балансировщик нагрузки. Пример: если доступных сообщений в очереди более 10, новый экземпляр запускается из моего шаблона запуска в общей сложности 2. Аналогично, если их меньше 10, политика простого масштабирования устанавливает количество запущенных экземпляров равным 1.

Я заметил, что политика масштабирования отслеживания целей является лучшей альтернативой политике простого и поэтапного масштабирования. Есть идеи / советы о том, как это настроить?

Ответ №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 метрикой по умолчанию. Если это не так, вам нужно будет создать запланированный лямбда-показатель или что-то подобное, чтобы периодически использовать его в качестве настраиваемой метрики для чтения.

Лично у меня есть аналогичный вариант использования, когда у меня есть несколько очередей SQS (около 30), которые обрабатывает масштабируемая служба. Я предпочитаю использовать лямбда-выражение, которое проверяет длину очередей и масштабируется в соответствии с наибольшей длиной очереди. Я считаю это надежным, и если у вас это уже настроено, вы можете не сильно выиграть, изменив это. Кроме того, иногда спрос на наши услуги возрастает настолько, что, если бы я разрешил AWS масштабироваться настолько, насколько это необходимо, база данных «зависала» под нагрузкой. Убедитесь, что вы учитываете это в своей конфигурации масштабирования.

Комментарии:

1. Существует также специальное руководство по SQS: docs.aws.amazon.com/autoscaling/ec2/userguide /…