Data / External Systems
La couche où résident les bases de données, les caches, les systèmes hérités et les fournisseurs externes qui soutiennent ou complètent le fonctionnement du système.
Ce que comprend cette couche
- Bases de données relationnelles
- Bases NoSQL
- Cache comme Redis
- Systèmes legacy
- APIs tierces
- Services externes de paiement, de messagerie ou d’ERP
Une base de données par service
Dans les architectures à base de microservices, il est recommandé que chaque service contrôle sa propre persistance.
Cela ne signifie pas nécessairement une base de données physiquement distincte dans tous les cas, mais bien des limites claires de propriété (ownership) et d’accès.
Relationnel vs documentaire
Relationnel
Utile lorsque vous avez besoin d’intégrité, de jointures, de cohérence forte et de structures transactionnelles claires.
Documentaire
Utile lorsque le modèle est plus flexible ou lorsque la forme des requêtes favorise des documents agrégés.
Le choix doit répondre au domaine, et non à une simple mode technologique.
Redis et cache
Redis peut être utilisé pour :
- la mise en cache des réponses
- les sessions
- le throttling
- des files d’attente simples dans certains contextes
Le cache n’est pas la source de vérité ; c’est une optimisation.
Systèmes externes
Tout n’est pas sous notre contrôle.
Il faut composer avec :
- l’ERP
- les passerelles de paiement
- les services de messagerie
- les prestataires logistiques
- les plateformes héritées
C’est pourquoi l’architecture doit prévoir des adaptateurs, de la tolérance aux pannes et la traduction des modèles.
Résumé
Cette couche réunit la persistance et les systèmes externes. Il est essentiel de comprendre que c’est ici que résident les dépendances critiques, mais non la logique principale du domaine.