Microservices können Organisationen dabei helfen, Anwendungen zu erstellen, die leichter zu skalieren, bereitzustellen, zu warten und weiterzuentwickeln sind. Verteilte Architekturen bringen jedoch auch Herausforderungen mit sich, die Kommunikation, Fehlertoleranz, Datenkonsistenz, Servicegrenzen und Frontend-Integration betreffen. Dieser Kurs bietet eine strukturierte Einführung in die Bewältigung dieser Herausforderungen durch bewährte Microservices-Design-Muster.
Sie beginnen mit einer Überprüfung der Grundlagen der Microservices-Architektur und verstehen, wie sich Microservices von traditionellen monolithischen Anwendungen unterscheiden. Der Kurs führt dann die Rolle von Design-Mustern ein und erklärt, wie sie wiederverwendbare Lösungen für häufige Probleme verteilter Systeme bieten.
Sie werden das Aggregator-Muster erforschen und lernen, wie Antworten von mehreren Diensten zu einem einheitlichen Ergebnis kombiniert werden können. Das API Gateway-Muster zeigt, wie ein zentraler Einstiegspunkt das Routing verwalten und die Kommunikation zwischen Clients und Backend-Diensten vereinfachen kann.
Der Kurs behandelt das Chain of Responsibility-Muster zur Verarbeitung von Anfragen durch eine Sequenz unabhängiger Handler. Sie werden auch die asynchrone Nachrichtenübermittlung untersuchen, die eine lose gekoppelte Kommunikation unterstützt und Dienste dabei hilft, ohne auf sofortige Antworten warten zu müssen, zu arbeiten.
Eine spezielle Lektion stellt das Circuit Breaker-Muster vor und erklärt, wie Anwendungen Dienstausfälle erkennen, wiederholte erfolglose Anfragen verhindern und das Risiko kaskadierender Ausfälle reduzieren können. Diese Prinzipien der Widerstandsfähigkeit helfen verteilten Anwendungen, verfügbar zu bleiben, wenn einzelne Dienste Probleme haben.
Sie werden dann Daten- und Strukturmuster studieren, einschließlich des Shared Database-Musters, des Branch-Musters und des Decomposition-Musters. Diese Lektionen erklären, wie Dienste getrennt werden können, wie Workflows über Komponenten hinweg verzweigen können und wie größere Anwendungen in überschaubare Geschäftsfunktionen unterteilt werden können.
Der Kurs behandelt auch CQRS, das Befehls- und Abfrageverantwortlichkeiten trennt, und Event Sourcing, das Änderungen als eine Sequenz von Ereignissen aufzeichnet. Diese Muster können skalierbare Workflows, Rückverfolgbarkeit und flexiblere Datenmodelle unterstützen.
Schließlich werden Sie das Backend für Frontend-Muster erkunden, das dedizierte Backend-Dienste für verschiedene Schnittstellen wie Web- und mobile Anwendungen bereitstellt. Anleitung zur Auswahl geeigneter Muster und zur Verwendung von Code-Visualisierungstools hilft Ihnen, Architekturentscheidungen zu bewerten und Servicebeziehungen zu verstehen.
Durch den Abschluss des Kurses
Vorteile: Verstehen Sie die Prinzipien und architektonischen Merkmale von Microservices.
Identifizieren und wenden Sie 11 gängige Microservices-Design-Muster an.
Implementieren Sie das Aggregator- und API Gateway-Muster für die Dienstkommunikation.
Verwenden Sie Chain of Responsibility, um Workflows zur Anfrageverarbeitung zu organisieren.
Wenden Sie asynchrone Nachrichtenübermittlung an, um lose gekoppelte Dienste zu erstellen.
Verbessern Sie die Systemwiderstandsfähigkeit durch das Circuit Breaker-Muster.
Verwenden Sie Dekompositions- und Verzweigungstechniken, um Dienstgrenzen zu definieren.
Wenden Sie CQRS und Event Sourcing auf verteilte Daten-Workflows an.
Entwerfen Sie spezialisierte Backends mit dem Backend für Frontend-Muster.
Wählen Sie geeignete Muster basierend auf Skalierbarkeits-, Widerstandsfähigkeits- und Wartbarkeitsanforderungen aus.