Definitiv Docker. Die Verwendung von Containern bietet Ihnen maximale Flexibilität.
In Ihrer ersten Annäherung ist Ihr jar von Java abhängig. Wenn Sie eine neue VM erstellen, müssen Sie eine bestimmte Softwarefolge installieren, um Ihre Anwendung zu unterstützen.
Vorteile in zweitem Ansatz,
Zuerst alles in einzelnen Behältern sein wird.
Sie können alle erforderlichen Software im Container installieren und dieser Container kann Benutzer in jeder VM sein. Sie haben die Flexibilität, ein Java Ihrer Wahl für jeden Microservice zu verwenden. Installieren Sie nur Docker und alles wird bearbeitet.
Zweitens Dev Prod Parity
Wenn Sie etwas sehr viel von Micro Architektur und 12-factor Apps. Dann hilft Docker, viele Faktoren zu unterstützen. Ihr Java und andere Software werden einzigartig in Ihrer Umgebung sein. Das heißt, Sie werden sich nie wundern, ob es in QA und nicht in Prod funktioniert, da die Laufzeitumgebung nicht mit der Version übereinstimmt.
Drittens Flexibilität
Wenn Sie in Micro Architektur gehen, warum dann nur java. Sie können auch mit GO, Python oder anderen Sprachen gehen. Da zu diesem Zeitpunkt die Laufzeitumgebung für jede Plattform auf jeder VM installiert werden muss, ist es sehr nützlich, Microservice in Containern zu haben.
Last, Deployment Easiness
Sie können Docker-compose oder Docker Schwarm verwenden 100s von mivroservice in einzelnen Befehl auszuführen.
definitiv docker – Remario
Dies ist eine Meinung basierte Frage/Antwort. Die Vor-/Nachteile sind für jeden unterschiedlich und daher schwer zu beantworten. –
Was ist, wenn ich den Jar-Ansatz verwende? Werde ich die Vorteile, die Docker dann bietet, ignorieren? Was ist, wenn ich meine Anwendung skalieren muss? Wird das Glas mir so leicht erlauben wie Docker? Wenn ja, wie? –