Nous sommes en train de migrer une application monolithique vers une architecture de microservices. En raison de certaines exigences réglementaires, nous devons conserver les données des clients de différents pays dans des bases de données distinctes (spécifiques au pays). C'est à dire db US pour les clients US, UK db pour les clients UK ...
Les conceptions suivantes que nous envisageons sont les suivantes:
Option 1: une application multi-locataire avec une prise en charge multi-locataire en hibernation qui peut être adaptée à N nombre de fois en fonction de la demande (pensez aux pods kubernetes). Une seule instance de cette application pourra se connecter à toutes les bases de données.
Option 2: déployer 1 instance de microservice par base de données de pays. Avec une passerelle API devant eux acheminant le trafic
Si vous deviez concevoir ce type de système, quels seraient vos choix?