Wir sind dabei, eine monolithische Anwendung auf eine Microservice-Architektur zu migrieren. Aufgrund einiger regulatorischer Anforderungen müssen wir Kundendaten aus verschiedenen Ländern in separaten (länderspezifischen) Datenbanken speichern. Dh US db für US Kunden, UK db für UK Kunden ...
Die folgenden Designs, die wir in Betracht ziehen, sind wie folgt:
Option 1: Eine mandantenfähige Anwendung mit Unterstützung für mehrere Mandanten im Ruhezustand, die je nach Bedarf auf N-mal skaliert werden kann (denken Sie an Kubernetes-Pods). Eine einzelne Instanz dieser Anwendung kann eine Verbindung zu allen Datenbanken herstellen.
Option 2: Stellen Sie 1 Microservice-Instanz pro Länderdatenbank bereit. Mit einem API-Gateway vor ihnen wird der Datenverkehr weitergeleitet
Wenn Sie diese Art von System entwerfen würden, welche würden Sie wählen?