Microservices
Eine Architektur mit abgegrenzten Diensten, die möglichst unabhängig entwickelt, betrieben und ausgeliefert werden.
Eigenständige Dienste mit klarer Verantwortung
Eine Microservices-Architektur zerlegt eine Anwendung in fachlich abgegrenzte Dienste mit definierten Schnittstellen. Sie sollen unabhängig weiterentwickelt und bereitgestellt werden können. Dazu gehört eine klare Verantwortung für die jeweiligen Daten und ihren Zugriff.
Im erfundenen Beispiel erhält die Berichtserstellung eine eigene Auslieferung, während die Auftragsanwendung über eine vereinbarte Schnittstelle Daten bereitstellt. Das verlangt Versionsabsprachen und Verhalten bei einer gestörten Verbindung. Getrennte Prozesse, die bei jeder Änderung gemeinsam veröffentlicht werden müssen, erreichen diese Unabhängigkeit noch nicht. Beurteilen Sie neben Änderungsfreiheit auch Überwachung, Fehlerbehandlung und Datenkonsistenz. Viele kleine Dienste allein garantieren weder gute Struktur noch höhere Verfügbarkeit.
Quellen
Verwandte Begriffe
- SoftwarearchitekturGrundlegende Entscheidungen über Aufbau, Zusammenarbeit und Qualitätsziele eines Softwaresystems.
- MonolithEine Anwendung, deren Kern als gemeinsame Einheit ausgeliefert wird; innere Module sind trotzdem möglich.
- Modularer MonolithEine gemeinsam ausgelieferte Anwendung mit ausdrücklich abgegrenzten inneren Modulen und ihren Schnittstellen.
- Contract-TestEin Test, der vereinbarte Nachrichten zwischen einem Verbraucher und einem Anbieter einer Schnittstelle prüft.
- Cache StampedeEin Cache Stampede entsteht, wenn gleichzeitige Anfragen dieselben Daten im Cache nicht finden und dieselbe teure Arbeit mehrfach starten.
- BackpressureBackpressure passt den Datenzufluss an die Verarbeitungskapazität des Empfängers an, indem dieser eine Verlangsamung oder Pause signalisiert.
Ihr Vorhaben mit ASES
Beschreiben Sie uns Ihr Vorhaben. Wir melden uns mit einer ersten Einschätzung.