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.