Architecture Server
Berth API — Architecture technique
Section titled “Berth API — Architecture technique”
API REST Go/Gin mono-tenant, self-hosted chez chaque client, pour superviser des conteneurs Docker.
Sommaire détaillé
Section titled “Sommaire détaillé”L’architecture du serveur est découpée en plusieurs sections pour une meilleure compréhension :
- Stack & Structure : Philosophie, choix technologiques et arborescence du projet.
- Pattern CQRS & Couches : Détails du pattern CQRS simplifié, interfaces et implémentations des handlers.
- Audit Log & Redis Streams : Traçabilité des actions métier via Redis Streams et worker asynchrone.
- Cache & Base de données : Stratégie de cache-aside Redis et persistance via GORM/PostgreSQL.
- Erreurs, Config & Déploiement : Gestion des erreurs, configuration par variables d’environnement et stratégie de tests.
Pattern CQRS simplifié (Vue d’ensemble)
Section titled “Pattern CQRS simplifié (Vue d’ensemble)”Angular 22 ──HTTP/WS/SSE──> Gin handler ──> Command/Query handler │ │ Command ─────┘ └──── Query │ │ GORM write Redis GET ──miss──> GORM read │ │ │ invalidate cache <───────────────┴──── Redis SET ◄──┘ │ gRPC agent / événement temps réelLa séparation des responsabilités entre les commandes (écritures) et les requêtes (lectures) permet d’optimiser les performances via Redis tout en conservant PostgreSQL comme source de vérité absolue.
