Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Der Spring Cloud Netflix Stack Grundkurs

Eine Anwendung auf Docker-Ebene in Betrieb nehmen

Testen Sie unsere 2017 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Nachdem alle notwendigen Vorarbeiten abgeschlossen sind, können Sie die einzelnen Services auf Ebene von Docker in Betrieb nehmen. Dazu werden Sie zunächst die erforderlichen Port-Freigaben definieren und lernen zudem, wie Sie Services aufeinander zugreifen lassen.

Transkript

Wenn Sie Ihre Applikation soweit vorbereitet haben, dass sie im Docker laufen kann, das heißt, alle Docker Images erstellt haben, ist es an der Zeit, diese Images in Betrieb zu setzen. Wir werden uns in diesem Video anschauen, wie wir die Images in Betrieb setzen können und wie wir Portfreigaben sowie Verknüpfungen zwischen den Images anlegen können. Es ist wichtig, die korrekte Reihenfolge beim Inbetriebsetzen der Images zu berücksichtigen. Wir fangen deswegen mit dem Kern der Applikation an und das ist der Discovery-Service. Der Discovery-Service wird in Betrieb gesetzt über die Anweisung "docker run -td -p"; mit "-p" geben wir ein Port-Mapping an. Und zwar mappen wir den Port "8761" des Services auf dem Port "8761" des Hosts, also unseres Systems, wir geben dem Service einen entsprechenden Namen, "discovery", und er basiert auf dem "guestbook-discovery"-Image, das wir vorhin erzeugt haben. Der nächste Service, den wir in Betrieb setzen werden, ist der Frontend-Service. Dieser Service benötigt kein Port Mapping, denn er wird nicht direkt aufgerufen, sein Name lautet "frontend" und er basiert auf dem "guestbook-frontend"-Image. Er benötigt allerdings eine andere Angabe, nämlich "--link". Er muss nämlich auf den Discovery-Service zugreifen können. Normalerweise können das Services nicht, wenn sie im Docker deployed sind, denn jeder Service läuft in seinem eigenen Image, in seiner eigenen virtuellen Maschine, und die ist in sich abgeschlossen. Über "--link" und der Name eines anderen laufenden Services können wir diese Freigabe erreichen. Damit ist der Frontend-Service in der Lage, auf den Service mit dem Namen "discovery" zuzugreifen, und erinnern Sie sich, das ist auch der Name, den wir vergeben haben, in der "Applikation.Properties"-Datei. Der Frontend-Service ist hiermit angelegt. Der nächste Service, den wir anlegen, der ebenfalls einen Link auf "discovery" benötigt, ist der Mail-Service, dieser basiert auf dem "guestbook-mail"-Image. Nun können wir den Backend-Service anlegen. Der Backend-Service benötigt sogar zwei Links, nämlich einmal auf "discovery" und einmal auf "mail". Sein Name lautet "backend" und er basiert auf dem "guestbook-backend"-Image. Ich habe hier vergessen, die "--link"-Angabe zu setzen, das ist nun korrigiert und auch der Backend-Service wurde angelegt. Im Folgenden legen wir nun den Proxy-Service an. Der Proxy-Service basiert auf dem "guestbook-proxy"-Image, er muss auf den Discovery-Service zugreifen, er muss auf den Backend-Service zugreifen und er muss auch auf den Frontend-Service zugreifen. Und damit nicht genug, er benötigt ebenfalls noch ein Port-Mapping, denn das ist ja der Service, den wir von außen aufrufen wollen. Und zwar Port 8000 in der Maschine auf Port 8000, im Host außen rum. Der Service ist auch angelegt und der letzte Service, den wir noch anlegen wollen, ist der Hystrix-Service oder auch der Turbine-Service, je nachdem, worauf Sie da mehr Wert legen. Der basiert auf dem "hystrix-stream"-Image und auch hier benötigen wir eine Portfreigabe, nämlich vom Port 12000 auf 12000 und auch hier benötigen wir eine Verlinkung der Services miteinander, denn der Hystrix-Stream bzw. Turbine soll ja auf den Hystrix-Stream des Backend-Services zugreifen. Damit haben wir alle unsere Services angelegt, wir können uns einmal kurz dessen vergewissern, indem wir "docker ps" aufrufen und wir sehen, die Services laufen. Nun werden wir einmal in den Browser wechseln. Und zunächst einmal auf Ebene von Eurika schauen, ob sich dort auch alle Services registrieren konnten. Eureka ist unter der selben Adresse erreichbar, unter der es erreichbar war, als es aus Eclipse heraus gestartet worden ist, nämlich "localhost:8761". Und während wir das aufgerufen haben, hat Eureka schon alle Informationen zusammengesammelt und wir sehen, alle Services sind erfolgreich registriert und Eureka läuft korrekt. Wunderbar. Der nächste Schritt besteht nun darin, das Gästebuch selber auszuprobieren. "localohost:8000" verbindet uns mit dem Proxy-Service, der seinerseits dann die Weiterleitung auf die internen Services vornimmt. Ein Klick auf "Neuen Eintrag hinzufügen" erlaubt es uns, einen neuen Eintrag zu erfassen. Und ein Klick auf "Speichern" speichert diesen. Wir sehen, alles funktioniert einwandfrei. In diesem Video haben wir uns damit auseinandergesetzt, wie wir unsere Services auf Ebene von Docker als Dockerimages bereitstellen und in Betrieb setzen. Wir haben sie in der korrekten Reihenfolge in Betrieb gesetzt und wir haben die Verbindungen zwischen den verschiedenen Images mit Hilfe des "--link"-Parameters hergestellt. Ebenfalls haben wir die notwendigen Portfreigaben erstellt. Diese Protfreigaben gibt es für den Proxy-Service, für den Hystrix-Service und natürlich für den Discovery-Service. Alle anderen Services sind von außen nicht direkt erreichbar.

Der Spring Cloud Netflix Stack Grundkurs

Lernen Sie den Open Source Cloud Stack und seine vielfältigen Einsatzmöglichkeiten kennen.

2 Std. 5 min (13 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Exklusiv für Abo-Kunden
Erscheinungsdatum:06.03.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!