AWS ECS масштабирование вверх и вниз - PullRequest
0 голосов
/ 20 сентября 2019

Мы используем сервис AWS ECS, в котором работают док-контейнеры.Эти док-контейнеры имеют код приложения, который непрерывно опрашивает SQS и получает единственное сообщение, обрабатывает его и уничтожает себя, и это жизненный цикл задачи.Сейчас мы масштабируем задачи, и EC2 в кластере на основе количества сообщений поступает в SQS.Мы можем масштабировать, но трудно уменьшить, потому что мы не знаем, обрабатывает ли какая-либо задача какое-либо сообщение, потому что время обработки сообщения огромно из-за некоторой сложной логики.Кто-нибудь может подсказать, что является основанным способом увеличения и уменьшения в этом случае?

Ответы [ 2 ]

0 голосов
/ 21 сентября 2019

Упомянутый вами вариант использования не означает ECS для экземпляров EC2.Вам следует рассмотреть AWS ECS Fargate или AWS BATCH.С одной стороны, Fargate предоставит вам больше возможностей с точки зрения инфраструктуры, например, Задача может выполняться в течение более длительных периодов времени или масштабирования задач в соответствии с некоторыми параметрами, такими как CPU или MEM.С другой стороны, вы будете оплачивать только количество задач, запущенных в данный момент в вашем кластере.

Ссылка: https://aws.amazon.com/fargate/

0 голосов
/ 20 сентября 2019

Рассматривали ли вы использование AWS Lambda для этого варианта использования, а не ECS (при условии, что логика вашего приложения работает менее чем за 5 минут).Вы можете использовать SQS в качестве триггера для лямбды. Документация AWS: Использование AWS Lambda с Amazon SQS содержит подробное руководство о том, как этого добиться с помощью Lambda.

...