Wir haben beschlossen, unseren Monolith in Microservices aufzuteilen. Von Grund auf neu schreiben? Nein — das ist ein Rezept für eine Katastrophe. Das Strangler-Fig-Pattern: Services schrittweise aus dem Monolith extrahieren. Stück für Stück, ohne Big-Bang-Migration.
Strangler-Fig-Pattern¶
Wie ein Feigenbaum, der um einen anderen Baum herum wächst. Neue Features werden als Microservices implementiert. Bestehende Features werden schrittweise extrahiert. Ein Proxy (API Gateway) routet Requests — zum alten Code oder zum neuen Service. Der Monolith schrumpft mit der Zeit.
API Composition¶
Ein Client braucht Daten von mehreren Services. Ein API Composer (im Gateway oder als dedizierter Service) ruft Services parallel auf und setzt die Antwort zusammen. Vorsicht bei der Latenz — N Aufrufe addieren sich. Caching und asynchrone Aufrufe helfen.
Saga Pattern¶
Eine verteilte Transaktion über mehrere Services. Statt 2PC (Two-Phase Commit) eine Sequenz lokaler Transaktionen mit kompensierenden Aktionen. Bestellablauf: Inventar reservieren → Zahlung belasten → versenden. Bei Fehler: kompensieren (Rückerstattung → Inventar freigeben).
Database per Service¶
Jeder Service besitzt seine eigenen Daten. Keine geteilten Tabellen. Datenduplikation ist akzeptabel — Eventual Consistency über Events. Dies ist der größte mentale Umbruch für Entwickler, die eine einzige geteilte Datenbank gewohnt sind.
Patterns, nicht Frameworks¶
Microservices drehen sich nicht um Technologie — sie drehen sich um Patterns. Strangler für Migration, Saga für Transaktionen, CQRS für Lese-/Schreibtrennung. Kenntnis der Patterns ist wichtiger als Kenntnis eines bestimmten Frameworks.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns