2017-12-30 13 views
0

Ich bin im Begriff, eine Reihe von JAVA-basierten Microservices bereitzustellen. Ich bin verwirrt, ob:Microservice-Bereitstellung --- einfache Gläser vs Docker-Container

  1. Führen sie als einfache Gläser über "java -jar [JAR_NAME]"
  2. sie in einem JAVA-basierten Container Docker starten.
  3. Führen Sie sie als Krieg.

Bitte bieten Sie mir Vor-und Nachteile der einzelnen Implementierung, da dies mir eine Menge Kopfschmerzen ersparen, wenn ich den vorgeschlagene besten Ansatz verwenden :)

Vielen Dank im Voraus.

+0

definitiv docker – Remario

+0

Dies ist eine Meinung basierte Frage/Antwort. Die Vor-/Nachteile sind für jeden unterschiedlich und daher schwer zu beantworten. –

+0

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? –

Antwort

0

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.

Verwandte Themen