...
- Les applications communiquent entre elles via RabbitMQ - Gestion de RabbitMQ
- Les applications peuvent requeter les référentiels directement via une API HTTP. Dans ce cas, la dépendance au service concernée doit être explicitement signalée
Catalogue des services
...
Bloc de code | ||||
---|---|---|---|---|
| ||||
{
"id": [integer] Numéro sociétaire
} |
...
Voir Producteur de messages et Recepteur de messages
Topologie
Voir Topologie
Structure des messages
Voir Messages
Gestion des erreurs
Dans chaque applications, des erreurs peuvent empecher le message d'être traiter. Chaque message contient l'historique des erreurs qui lui sont associées.
Si un service consommateur souhaite ajouter une erreur il doit obligatoirement renvoyer ce message vers l'exchange RabbitMQ principal. Si le traitement du message ne necessitait pas que celui-ci soit envoyé à un autre service consomateur, il peut être envoyé directement au service d'audit via la routing key spéciale : "agoram.log"
Debugger les messages
Visualiser les messages transmis
Nous avons créer un outil maison pour visualiser les messages sur https://gorg-soa-supervision.herokuapp.com/. Le code source est ici : https://github.com/gadzorg/gorg_soa_supervision
Il peut également être utilisé en ligne de commande pour trouver plus efficacement des messages précis.
Envoyer un message manuellement
https://gorg-soa-supervision.herokuapp.com/ peut également être utilisé pour envoyer des messages manuellement