Microservices
Les microservices sont un modèle d'architecture qui divise une application en une collection de petits services indépendants, chacun responsable d'une capacité métier spécifique et communiquant via des APIs bien définies.
Comprendre Microservices
Les applications monolithiques regroupent toutes les fonctionnalités dans une seule unité déployable. Au fur et à mesure de leur croissance, leur développement, leurs tests, leur déploiement et leur évolutivité deviennent plus complexes. Les microservices divisent l'application en services indépendants : un service utilisateur, un service de traitement des emails, un service d'agent, un service de notification. Chaque service peut être développé, déployé et mis à l'échelle séparément. Les équipes peuvent travailler sur différents services en parallèle, sans conflit. Une défaillance d’un service n’entraîne pas nécessairement la panne des autres. En contrepartie, la complexité opérationnelle augmente : gérer de nombreux services, leur communication et leurs déploiements exige une infrastructure plus sophistiquée.
Comment GAIA utilise Microservices
GAIA applique les principes des microservices dans son architecture Nx monorepo. L'API, l'application web, l'application de bureau, l'application mobile, l'agent vocal et les bots sont des applications déployables séparément qui communiquent via des interfaces définies. Le traitement en arrière-plan utilise des workers ARQ comme services indépendants. Cette modularité permet de mettre à jour, de faire évoluer ou de remplacer chaque composant de manière indépendante.
Concepts liés
Passerelle API
Une passerelle API est un serveur qui sert de point d'entrée unique aux requêtes des clients, les route vers les services backend appropriés, gère l'authentification, la limitation de débit, la journalisation et d'autres préoccupations transversales dans un système distribué.
Architecture orientée événements
L'architecture orientée événements (AOE) est un modèle de conception logicielle dans lequel les composants du système communiquent par le biais d'événements — des notifications distinctes indiquant qu'une action a eu lieu — permettant un couplage lâche, une réactivité en temps réel et des systèmes scalables.
Serverless
L'informatique serverless est un modèle d'exécution cloud dans lequel le fournisseur cloud gère l'infrastructure des serveurs, allouant automatiquement les ressources et adaptant l'échelle à la demande, ce qui permet aux développeurs de se concentrer sur le code plutôt que sur la gestion de l'infrastructure.
Intégration API
L'intégration API est le processus qui consiste à connecter différentes applications logicielles via leurs interfaces de programmation (API), leur permettant de partager facilement données et fonctionnalités.


