Я разработал приложение на основе Docker, состоящее из нескольких микросервисов. Он должен потреблять сообщения Amazon SQS и обрабатывать их. Сначала я хотел использовать AWS Elastic Beanstalk, но потом я упал на EC2 Container Service. Теперь я не знаю, какой из них выбрать.Должен ли я использовать AWS Elastic Beanstalk или Amazon EC2 Container Service (ECS) для масштабирования контейнеров докеров?
На данный момент эластичный бобовый шток поддерживает многоконтейнерные среды. Это здорово, потому что каждый микросервис имеет свой собственный сервер приложений внутри контейнера докеров. Следующая проблема заключается в масштабировании:
Я не знаю, как работает механизм масштабирования. Например: у меня есть 5 докеров-контейнеров в моей эластичной среде Beanstalk. Теперь только пятый контейнер докеров находится под большой нагрузкой, потому что у него есть огромное количество сообщений SQS для обработки, остальные четыре почти бездействуют, потому что им не нужно много CPU или, возможно, не так много сообщений SQS. Предположим, что 5-й контейнер запускает сервер приложений JBoss. Насколько я знаю, сервер может потреблять ограниченное количество параллельных запросов, даже если имеется достаточное количество CPU/памяти.
Если контейнер JBoss Docker не способен обрабатывать количество запросов, но имеется достаточное количество CPU/памяти, конечно, я хочу автоматически запустить второй контейнер Docker/JBoss в том же экземпляре. Но что произойдет, если мне не хватает процессора/памяти? Конечно, я хочу вращаться на втором экземпляре, который настраивается через группу автомасштабирования в EB. Теперь второй экземпляр вращается, но каждый контейнер, за исключением 5-го, почти бездействует, конечно, я не хочу, чтобы они вторгались во второй случай тоже, что было бы пустой тратой ресурсов. Только пятый должен появиться, а остальные должны масштабироваться, как 5-й масштаб, на основе настраиваемых параметров, таких как: CPU/memory/SQS.
Я точно не знаю, делает ли Amazon ECS это, или если это вообще возможно, но я действительно не могу найти какой-либо источник в Интернете по этой теме, что в общем сказано, масштабирование на основе экземпляров/контейнеры.
Считаете ли вы, что проблема решена? У меня очень похожая озабоченность по поводу EB, я подозреваю, что она запускает все 5 контейнеров в отдельном экземпляре. –
Я тоже смущен. Выбранный ответ на самом деле не объясняет, как масштабирование работает в обеих службах. Также ECS/EB действительно ударяет по еще одному 5-му контейнеру, а затем запускается параллельно в одном экземпляре, если ресурсов достаточно? – codepushr