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.
Comprendre Architecture orientée événements
Dans une architecture traditionnelle de type requête-réponse, les systèmes communiquent par appels directs et attendent une réponse. L'architecture orientée événements fonctionne différemment : les composants émettent des événements lorsqu'une action se produit (un e-mail est arrivé, un fichier est modifié, un paiement est traité) et d'autres composants s'abonnent pour réagir aux événements pertinents. Ce découplage rend les systèmes plus scalables, résilients et réactifs. Les événements sont en général publiés dans un courtier de messages — comme RabbitMQ, Kafka ou Amazon SQS — qui les stocke de manière fiable et les délivre à tous les abonnés intéressés. L'AOE constitue l'épine dorsale des applications modernes en temps réel.
Comment GAIA utilise Architecture orientée événements
L'ensemble du back-end de GAIA est construit sur une architecture orientée événements utilisant RabbitMQ comme courtier de messages. L'arrivée d'emails, les mises à jour de calendrier, les messages Slack et les actions des utilisateurs génèrent tous des événements qui sont publiés dans des files d'attente. Les workers ARQ s'abonnent à ces événements et exécutent les workflows agents appropriés. Cette architecture rend GAIA véritablement temps réel et évolutive : de nouveaux types d'événements et de workflows peuvent être ajoutés sans perturber le traitement existant.
Concepts liés
Automatisation événementielle
L'automatisation événementielle est un modèle où les workflows sont déclenchés automatiquement en réponse à des événements précis, comme l'arrivée d'un nouvel e-mail, la création d'un événement de calendrier ou la publication d'un message, permettant ainsi un traitement réactif en temps réel.
Webhook
Un webhook est un mécanisme de rappel HTTP par lequel un système envoie automatiquement une requête HTTP à une URL spécifiée dès qu’un événement défini survient, ce qui permet une notification et une intégration en temps réel entre services sans avoir à interroger régulièrement.
File de messages
Une file de messages est un système qui stocke des messages (tâches ou événements) envoyés par des producteurs et les transmet à des consommateurs pour traitement, découplant ainsi les deux et permettant une communication asynchrone et fiable entre composants du système.
Pub-Sub (publication-abonnement)
Le modèle publication-abonnement (pub-sub) est un schéma de messagerie où les éditeurs publient des événements auprès d'un courtier central sans savoir qui les recevra, et les abonnés s'inscrivent aux types d'événements qui les intéressent pour recevoir ceux correspondants de manière asynchrone.
Déclencheur
Un déclencheur est un événement, une condition ou un horaire spécifique qui initie automatiquement un workflow ou une action d'agent automatisé, servant de point de départ à tout processus automatisé.


