it-swarm.com.de

Muss für jeden Microservice ein eigener Server ausgeführt werden (Tomcat, Docker-Container)?

In der Entwicklung habe ich eine Java Backend-API, die ich mit Tomcat ausführe. Ich möchte das Backend in einen Docker-Container packen und auf einer AWS EC2-Instanz bereitstellen und skalieren können oben unten.

Muss auf jedem Docker-Container ein separater Tomcat-Server ausgeführt werden? Ich kenne keinen Weg daran vorbei, aber ich denke, es scheint nur viel Overhead (1 GB - 2 GB Speicher, 500 MB Speicherplatz) pro Container zu sein.

4
nanotek

In der Microservices-Architektur möchten Sie normalerweise die Flexibilität, die Dienste unabhängig voneinander bereitzustellen, und diese Anforderung führt dazu, dass Sie einen Container pro Dienst mit allen für die Ausführung erforderlichen Abhängigkeiten und Umgebungen haben.

Das Standard-Ökosystem Java Java ist schwer für die Erstellung von Cloud-nativen Anwendungen, dies ändert sich jedoch bei Projekten wie Quarkus und GraaVM , in denen Sie erstellen können Cloud-native Anwendungen mit hoher Leistung und geringem Speicherverbrauch.

4
Edu Costa

Verwenden Sie eingebettet Tomcat in Ihrer Anwendung, anstatt Ihre App in einer Tomcat-Instanz bereitzustellen. Ich bevorzuge diesen Ansatz im Allgemeinen, aber er ist definitiv viel stärker auf Mikrodienstarchitekturen und Container ausgerichtet.

3
JimmyJames

In diesem Fall benötigen Sie kein Docker.

Tomcat ist bereits ein Container-laufendes System, das mehrere separate Websites und APIs ausführen kann

2
Ewan