Die Architekturentscheidungen hinter Wallet-Kern und Satellitensystemen einer führenden vietnamesischen E-Wallet — und was wir anders machen würden.
„Microservices“ wird oft als Zerlegen von allem verstanden. In der Praxis liegt der Wert nicht in der Anzahl der Services, sondern darin, die richtigen Grenzen zu ziehen — entlang von Geschäftsfähigkeiten, nicht entlang des Organigramms.
Beim Bau von Wallet-Kern und Satellitensystemen einer E-Wallet auf nationaler Ebene haben wir Millionen von Transaktionen unter strengen Anforderungen an Konsistenz, Sicherheit und Skalierbarkeit verarbeitet. Hier einige Lektionen, die den Kontakt mit der Produktion überlebt haben.
1. Service-Grenzen folgen dem Geschäft
Ein Service sollte eine vollständige Geschäftsfähigkeit und deren Daten besitzen. Müssen sich zwei Services bei jedem Update gemeinsam ändern, ist das ein Zeichen dafür, dass die Grenze falsch ist — sie sollten einer sein.
2. Event-driven für das, was nicht synchron sein muss
- Geldbewegungen brauchen starke Konsistenz — synchron behandeln, mit Idempotenz.
- Benachrichtigungen, Abstimmung, Analytics — über Events anstoßen, asynchron verarbeiten, damit sie den Hauptfluss nicht blockieren.
- Jedes Event ist eine Tatsache, die geschehen ist, kein Befehl — neue Konsumenten lassen sich hinzufügen, ohne den Produzenten anzufassen.
3. API-first mit klaren Verträgen
API-Verträge vor dem Coden zu definieren, lässt Teams parallel arbeiten und reduziert schmerzhafte Integration am Ende. Jede Vertragsänderung wird versioniert und bricht bestehende Konsumenten nie.
Microservices verschenken keine Geschwindigkeit — sie tauschen Komplexität im Code gegen Komplexität im Betrieb. Zahlen Sie diesen Preis nur, wenn der Maßstab ihn wirklich verlangt.
Was wir anders machen würden
Mit weniger Services starten. Ein gut modularisierter Monolith, der schrittweise aufgeteilt wird, sobald Skalierungsdruck entsteht, ist fast immer günstiger, als zu früh aufzuteilen und später wieder zusammenzuführen. Observability-Infrastruktur sollte vor dem zweiten Service existieren, nicht nach dem zehnten.