Microservices haben sich zu einem beliebten Architekturstil für die Erstellung robuster, hochgradig skalierbarer, unabhängig bereitstellbarer Cloudanwendungen entwickelt, die sich schnell weiterentwickeln lassen. Damit Microservices nicht nur ein Schlagwort bleiben, erfordern sie allerdings eine andere Herangehensweise an die Gestaltung und Erstellung von Anwendungen.
Diese Artikelreihe beschäftigt sich mit der Erstellung einer Microservices-Architektur in Azure. Dabei werden folgende Themen behandelt:
- Computeoptionen für Microservices
- Kommunikation zwischen Diensten
- API-Design
- API-Gateways
- Überlegungen zu Daten
- Entwurfsmuster
Voraussetzungen
Machen Sie sich vor der Lektüre dieser Artikel ggf. zunächst mit Folgendem vertraut:
- Einführung in Microservices-Architekturen: Informieren Sie sich über die Vorteile und Herausforderungen im Zusammenhang mit Microservices sowie darüber, wann diese Art von Architektur verwendet werden sollte.
- Verwenden der Domänenanalyse zur Modellierung von Microservices: Hier wird ein domänenbasierter Ansatz für die Modellierung von Microservices vermittelt.
Referenzimplementierung
Zur Veranschaulichung bewährter Methoden für eine Microservices-Architektur haben wir als Referenzimplementierung eine Drohnenlieferungsanwendung erstellt. Diese Implementierung wird unter Verwendung von Azure Kubernetes Service (AKS) in Kubernetes ausgeführt. Die Referenzimplementierung finden Sie auf GitHub.
Laden Sie eine Visio-Datei dieser Architektur herunter.
Szenario
Fabrikam, Inc. führt einen Drohnenlieferdienst ein. Das Unternehmen verfügt über eine Drohnenflotte. Unternehmen registrieren sich bei dem Dienst, und Benutzer können eine Drohne anfordern, die auszuliefernde Waren abholt. Wenn ein Kunde einen Abholtermin festlegt, weist ein Back-End-System eine Drohne zu und teilt dem Benutzer die voraussichtliche Lieferzeit mit. Während der Durchführung der Lieferung kann der Kunde die Position der Drohne nachverfolgen, und die voraussichtliche Ankunftszeit wird kontinuierlich aktualisiert.
Diese Lösung eignet sich ideal für die Luftfahrt- und Flugzeugindustrie.
Dieses Szenario beinhaltet eine recht komplizierte Domäne. Zu den Anliegen des Unternehmens zählen unter anderem die Zeitplanung für die Drohnen, die Nachverfolgung von Paketen, die Verwaltung von Benutzerkonten sowie die Speicherung und Analyse von Verlaufsdaten. Darüber hinaus ist Fabrikam an einer schnellen Marktreife interessiert und möchte dann zeitnah neue Features und Funktionen hinzufügen. Die Anwendung muss cloudfähig sein und über ein hohes Servicelevelziel (Service Level Objective, SLO) verfügen. Fabrikam erwartet außerdem erhebliche Unterschiede bei den Datenspeicher- und Abfrageanforderungen der verschiedenen Systemkomponenten. Aufgrund dieser Überlegungen hat sich Fabrikam bei seiner Drohnenlieferungsanwendung für eine Microservices-Architektur entschieden.
Hinweis
Hilfreiche Informationen zur Wahl einer Microservices-Architektur oder eines anderen Architekturstils finden Sie im Azure-Anwendungsarchitekturleitfaden.
Unsere Referenzimplementierung verwendet Kubernetes mit Azure Kubernetes Service (AKS). Viele der übergeordneten architektonischen Entscheidungen und Herausforderungen gelten jedoch für jeden Container-Orchestrator.
Nächste Schritte
Choosing a compute option for microservices (Auswählen einer Computeoption für Microservices)