Comment nommer sa file de message ?

20 mars 2025#  messages broker, architecture

C’est l’histoire d’un message broker rempli de files de messages. Mais comment s’y retrouver parmi toute cette pelote ?

Dans un contexte entreprise, l’agent de message (messages broker pour les intimes) est souvent une entité partagée entre les domaines. Plusieurs applications (voire des équipes) partagent le même broker, en utilisant des files différentes. La plupart du temps, le broker de PROD est séparé des environnements de TESTS et de BUILD pour éviter les effets de bords un peu malheureux.

Quand bien même, la grande question est : comment nommer efficacement ses files pour s’y retrouver ?

Les informations à intégrer

Voici quelques informations assez fréquentes que j’apprécie personnellement retrouver :

La plupart des files répondent à des usages bien précis, que cela soit un pattern d’usage ou bien une utilisation récurrente au sein de votre architecture. Dans ces cas-là, j’aime beaucoup ajouter le nom du patron en tant que suffixe.

Les files contiennent des messages qui respectent une structure de données bien précise. Et oui, il s’agit d’une API.
Si l’évolution de la structure de message induit une évolution cassante au niveau production ou réception, alors la version doit être différente. C’est pour moi une information utile à préciser sur la file de message : quelle structure je respecte.

Quelques contraintes cependant :

Le résultat par l’exemple

Ce qui nous donne :

<environnement>.<equipe-responsable>.<domaine>.<pattern>.<version>

Par exemple:

dev.team-marketing.booking.resiliency.v1

Et dans le cas de tests automatisés ?

Lorsque nous réalisons des tests automatisés d’intégration, il peut être nécessaire de créer à la volée des files de messages. Dans ces cas-là, l’environnement est bien explicité (comme évoqué plus tôt), et j’aime beaucoup ajouter un UID en suffixe pour pouvoir lancer deux tests en simultanés. L’UID peut être aussi bien un UUID, qu’une concaténation d’un contexte d’exécution, d’un identifiant de test et d’un timestamp / donnée temporel par exemple.

Tel que :

e2e.team-marketing.booking.resiliency.v1.runner-1.test-13.20250127T1112

Certains brokers autorisent la suppression automatique de files après une certaine période d’inactivité.
Sinon, vous pouvez vous appuyer sur la structure de nommage pour nettoyer tout ce qui n’est plus nécessaire et qui est passé au travers des mailles du filet des étapes de nettoyage.

photoCédric CHARIERE FIEDLER

Cédric CHARIERE FIEDLER

Architecte Web, QA & Perf
# APIFrontQAPerformanceCloud