Ho sviluppato un'applicazione basata su Docker composta da più microservizi. Deve consumare messaggi Amazon SQS e elaborarli. All'inizio volevo utilizzare AWS Elastic Beanstalk, ma poi sono caduto sopra il servizio contenitore EC2. Ora non so quale scegliere.Devo utilizzare AWS Elastic Beanstalk o Amazon EC2 Container Service (ECS) per ridimensionare i contenitori Docker?
A partire da ora, Elastic Beanstalk supporta ambienti multi-contenitore. Questo è ottimo perché ogni microservizio ha il proprio server delle applicazioni all'interno di un container. Il prossimo problema è il ridimensionamento:
Non so come funziona il meccanismo di ridimensionamento. Ad esempio: ho 5 container docker nel mio ambiente Elastic Beanstalk. Ora solo il quinto contenitore docker è sotto carico pesante, perché ha una quantità enorme di messaggi SQS da elaborare, gli altri quattro sono quasi inattivi, perché non hanno bisogno di molta CPU o forse non hanno molti messaggi SQS. Supponiamo che il quinto contenitore esegua un server delle applicazioni JBoss. Per quanto ne so, il server può solo consumare una quantità limitata di richieste parallele anche se c'è abbastanza CPU/memoria disponibile.
Se il contenitore di Docker JBoss non è in grado di gestire la quantità di richieste, ma c'è abbastanza CPU/memoria disponibile, ovviamente voglio avviare automaticamente un secondo contenitore Docker/JBoss nella stessa istanza. Ma cosa succede, se non ho abbastanza CPU/memoria? Ovviamente voglio girare su una seconda istanza, che è configurabile tramite un gruppo di ridimensionamento automatico in EB. Ora una seconda istanza si gira, ma ogni container eccetto il 5 è quasi inattivo, ovviamente non voglio che anche loro generino 4 inutili in seconda istanza, il che sarebbe uno spreco di risorse. Solo il 5 ° dovrebbe spawn e gli altri dovrebbero scalare come la 5a scala in base a parametri configurabili come ad es .: CPU/memoria/SQS.
Non so esattamente se Amazon ECS lo stia facendo, o se è possibile a tutti, ma non riesco proprio a trovare alcuna fonte su internet su questo argomento, che in generale è detto, il ridimensionamento basato su istanze/contenitori.
Pensi che il tuo problema sia stato risolto? Ho una preoccupazione molto simile per quanto riguarda EB, ho il sospetto che lancino tutti i 5 contenitori in un'istanza separata –
Sono anche confuso. La risposta selezionata non spiega in realtà come funziona il ridimensionamento in entrambi i servizi. ECS/EB fa davvero un calcio di un altro 5 ° contenitore e poi esegue entrambi in parallelo sulla stessa istanza se ci sono abbastanza risorse? – codepushr