Was bedeutet Microservices?
Auftragsverwaltung und Versand können beispielsweise eigene Dienste sein. Teams können sie unabhängig weiterentwickeln, sofern die gemeinsamen Schnittstellen verträglich bleiben.
Die Verteilung erzeugt zusätzlichen Aufwand für Netzwerkkommunikation, Datenabgleich, Tests und Betrieb. Viele kleine Programme ergeben deshalb nicht automatisch eine gute Architektur. Fachliche Grenzen und die Fähigkeit, den verteilten Ablauf zuverlässig zu betreiben, sind entscheidend.
So sieht das in der Praxis aus
Beispiel: Auftragsverwaltung und Versand werden als getrennte Dienste entwickelt und über definierte Verträge verbunden.
Häufige Fragen
Sind Microservices für kleine Anwendungen immer sinnvoll?
Nein. Eine gemeinsame Anwendung kann einfacher zu entwickeln und zu betreiben sein. Unabhängige Teams oder deutlich unterschiedliche Anforderungen können eine Aufteilung eher rechtfertigen.
Wie groß sollte ein einzelner Dienst sein?
Dafür gibt es keine feste Zeilen- oder Funktionszahl. Er sollte eine klar verantwortete fachliche Aufgabe erfüllen und mit beherrschbaren Abhängigkeiten weiterentwickelt werden können.
Warum werden Datenänderungen dadurch schwieriger?
Mehrere Dienste können eigene Datenbestände führen. Gemeinsame Vorgänge brauchen dann zusätzliche Regeln für Abstimmung, Fehler und zeitweise unterschiedliche Datenstände.
