Sollte ich AWS Elastic Beanstalk oder den Amazon EC2 Container Service (ECS) zum Skalieren von Docker-Containern verwenden?

Habe ich entwickelt, eine Docker basierte Anwendung aus mehreren microservices. Es hat zu konsumieren, Amazon SQS-Nachrichten und verarbeitet Sie. Zuerst wollte ich mit AWS Elastic Beanstalk, aber dann fiel ich über die EC2 Container Service. Jetzt weiß ich nicht welche man zu wählen.

Als jetzt, Elastic Beanstalk unterstützt Multi-Container-Umgebungen. Das ist großartig, weil jeder microservice hat seinen eigenen application-server in einem docker-container. Das nächste problem ist die Skalierung:

Ich weiß nicht, wie die Skalierung Mechanismus funktioniert. Zum Beispiel: ich habe 5 docker-Container in meine Elastic Beanstalk-Umgebung. Jetzt nur noch die fünfte docker-container unter der schweren Last, denn es hat eine riesige Menge von SQS-Nachrichten zu verarbeiten, die anderen vier sind fast im Leerlauf, da brauchen Sie nicht viel CPU-oder vielleicht nicht haben eine Menge von SQS-Nachrichten. Nehmen wir an, die 5. - container läuft JBoss application server. Soweit ich weiß, wird der server nur verbrauchen kann eine begrenzte Anzahl von parallelen Anfragen, auch wenn es genügend CPU/Speicher zur Verfügung.

Wenn der JBoss-Docker container ist nicht in der Lage zu handhaben die Menge der Anfragen, aber es ist genug CPU/Speicher zur Verfügung, natürlich möchte ich, dass automatisch zu starten, eine zweite Andockfenster/JBoss-container auf der gleichen Instanz. Aber was passiert, wenn ich nicht genug CPU/Speicher? Natürlich will ich spin auf eine zweite Instanz, die konfigurierbar ist durch eine auto scaling-Gruppe in EB. Nun eine zweite Instanz startet, aber alle container mit Ausnahme der 5. ist fast im Leerlauf, habe ich natürlich nicht, dass Sie wollen, um zu laichen 4 nicht bei dem zweiten Beispiel zu, das wäre eine Verschwendung von Ressourcen. Nur 5. sollte der spawn und die anderen sollten Maßstab, wie der 5-Skala auf Basis konfigurierbarer Parameter, wie z.B.: CPU - /Arbeitsspeicher - /SQS.

Ich nicht genau weiß, ob Amazon ECS tut, oder ob es überhaupt möglich ist, aber ich finde keine Quelle im internet zu diesem Thema, die im Allgemeinen sagte, Skalierung, basierend auf Instanzen/Container.

InformationsquelleAutor der Frage orbatschow | 2015-04-11

Schreibe einen Kommentar