Courtier de messages d'entreprise pour une messagerie asynchrone fiable. Service Bus offre :
- Files d'attente : Messagerie point à point, FIFO uniquement avec les sessions
- Topics et abonnements : Modèles de messagerie publication-abonnement
- Sessions : Traitement ordonné des messages et corrélation
- Files de lettres mortes : Gestion automatique des messages non traitables
Bonnes pratiques Azure Service Bus
Plusieurs workers partagent une file, les messages de chaque client restent dans l'ordre, et un message qui échoue sans cesse est mis de côté au lieu de bloquer le reste.
Consommateurs concurrents sur une file à sessions
File d'attente orders
Six messages attendent dans la file, regroupés par session (une commande client chacun).
Exemple illustratifPropriétés et métadonnées des messages
- ContentType : Spécifier le format du message (application/json, text/xml)
- CorrelationId : Corréler les messages de requête et de réponse
- SessionId : Grouper les messages liés pour un traitement ordonné
- MessageId : Identifiant unique pour la déduplication
- Propriétés personnalisées : Ajouter des métadonnées spécifiques à l'application pour le filtrage
Optimisation des performances
- Traitement par lots : Envoyer/recevoir plusieurs messages en une seule opération
- Préchargement : Mise en cache côté client des messages pour un meilleur débit
- Partitionnement : Répartir les messages sur plusieurs courtiers (par entité en Basic/Standard avec 16 partitions, par espace de noms en Premium)
- Niveau Premium : Ressources dédiées pour des performances prévisibles
- Taille des messages : Garder les messages petits, utiliser le modèle claim check pour les grandes charges
Fonctionnalités avancées
Sessions de messages
Garantir le traitement FIFO pour les messages liés. Utilisez les sessions pour :
- Traiter tous les messages d'une commande en séquence
- Mettre en œuvre des workflows de traitement de messages avec état
- Équilibrage de charge entre plusieurs consommateurs tout en maintenant l'ordre
Messages planifiés
Mettre en file d'attente des messages disponibles à un moment futur. Cas d'usage :
- Remise différée de notifications
- Systèmes de rappel et tâches planifiées
- Limitation de débit avec espacement des messages
Transfert automatique
Chaîner les files d'attente et abonnements pour un routage complexe :
- Mettre en œuvre des modèles de traitement en pipeline
- Chaîner des files ou des abonnements au sein d'un même espace de noms (Standard ou Premium, pas Basic ; 4 sauts au maximum)
- Consolidation des files de lettres mortes