Partager via


Service Bus et fiabilité

Gérez complètement la répartition des messages d’entreprise avec des files d’attente de messages et des rubriques de publication/abonnement utilisés dans Azure Service Bus. Ce service stocke les messages dans un broker (par exemple, une file d’attente) jusqu’à ce que le destinataire soit prêt à les recevoir.

Voici les avantages :

  • Équilibrage de charge entre les workers concurrents.
  • Routage et transfert de façon sécurisée des données et du contrôle au-delà des limites des services et des applications.
  • Coordination du travail transactionnel qui nécessite un degré élevé de fiabilité.

Pour plus d’informations sur l’utilisation de Service Bus, consultez Messagerie Azure Service Bus. Apprenez à configurer une messagerie permettant de connecter les applications et services entre les environnements cloud et locaux.

Pour comprendre comment Service Bus contribue à une charge de travail fiable, consultez les rubriques suivantes :

Les sections suivantes sont spécifiques à Azure Service Bus et à la fiabilité :

  • Remarques relatives à la conception
  • Liste de contrôle de la configuration
  • Options de configuration recommandées
  • Artefacts sources

Remarques relatives à la conception

Optimisez la fiabilité avec un contrat SLA de durée d’activité Azure Service Bus. Les applications correctement configurées peuvent envoyer ou recevoir des messages, ou effectuer d’autres opérations sur une file d’attente ou une rubrique déployée. Pour plus d’informations, consultez Contrat SLA Service Bus.

Voici d’autres éléments de conception à prendre en compte :

Outre la documentation sur les couches de messagerie Service Bus Premium et Standard, les fonctionnalités suivantes sont disponibles uniquement sur la référence SKU (Stock Keeping Unit) Premium :

Lors du déploiement de Service Bus avec la géo-reprise d’activité après sinistre et dans les zones de disponibilité, l’objectif de niveau de service (SLO) augmente considérablement, mais ne modifie pas le contrat SLA de durée d’activité.

Check-list

Avez-vous configuré Azure Service Bus en pensant à la fiabilité ?

  • Évaluez les avantages du niveau Premium de Azure Service Bus.
  • Assurez-vous que les exceptions de messagerie Service Bus sont correctement traitées.
  • Connectez-vous à Service Bus avec le protocole AMQP (Advanced Message Queuing Protocol) et utilisez des points de terminaison de service ou des points de terminaison privés, quand cela est possible.
  • Passez en revue les bonnes pratiques pour obtenir de meilleures performances à l’aide de la messagerie Service Bus.
  • Implémentez la géoréplication côté l’expéditeur et côté récepteur pour vous protéger contre les pannes et les sinistres.
  • Configurez la géo-reprise d’activité après sinistre.
  • Si vous avez besoin d’une messagerie stratégique avec des files d’attente et des rubriques, Service Bus Premium est recommandé avec la géo-reprise d’activité après sinistre.
  • Configurez la redondance de zone dans l’espace de noms Service Bus (disponible uniquement avec le niveau Premium).
  • Implémentez la haute disponibilité pour l’espace de noms Service Bus.
  • Vérifiez que les messages associés sont remis dans l’ordre garanti.
  • Évaluez différentes fonctionnalités JMS (Java Messaging Service) par le biais de l’API JMS.
  • Utilisez des packages NuGet .NET pour communiquer avec les entités de messagerie Service Bus.
  • Implémentez la résilience pour la gestion des erreurs temporaires lors de l’envoi ou de la réception de messages.
  • Implémentez la mise à l’échelle automatique des unités de messagerie.

Recommandations relatives à la configuration

Tenez compte des recommandations suivantes pour optimiser la fiabilité lors de la configuration d’Azure Service Bus :

Recommandation Description
Évaluez les avantages du niveau Premium de Azure Service Bus. Envisagez de migrer vers le niveau Premium de Service Bus pour tirer parti de la protection contre les pannes et les sinistres prise en charge par la plateforme.
Connectez-vous à Service Bus avec le protocole AMQP et utilisez des points de terminaison de service ou des points de terminaison privés, quand cela est possible. Cette recommandation maintient le trafic sur le réseau principal Azure. Remarque : Le protocole de connexion par défaut pour les espaces de noms Microsoft.Azure.ServiceBus et Windows.Azure.ServiceBus est AMQP.
Implémentez la géoréplication côté l’expéditeur et côté récepteur pour vous protéger contre les pannes et les sinistres. Le niveau Standard prend uniquement en charge l’implémentation de la géoredondance côté destinataire et de côté expéditeur. Une panne ou un sinistre dans une région Azure peut entraîner un temps d’arrêt pour votre solution.
Configurez la géo-reprise d’activité après sinistre. - Actif/actif
- Actif/passif
- Espace de noms associé (Actif/Passif)
- Remarque : La région secondaire doit, de préférence, être une région associée Azure.
Si vous avez besoin d’une messagerie stratégique avec des files d’attente et des rubriques, Service Bus Premium est recommandé avec la géo-reprise d’activité après sinistre. Le choix du modèle dépend des besoins métier et de l’objectif de délai de récupération (RTO).
Configurez la redondance de zone dans l’espace de noms Service Bus (disponible uniquement avec le niveau Premium). La redondance de zone comprend trois copies du magasin de messagerie. Une zone est allouée en tant que magasin de messagerie principal et les autres zones sont allouées en tant que zones secondaires. Si la zone principale devient indisponible, une zone secondaire est promue en zone principale sans temps d’arrêt perceptible. Les zones de disponibilité sont disponibles dans un sous-ensemble de régions Azure avec de nouvelles régions ajoutées régulièrement.
Implémentez la haute disponibilité pour l’espace de noms Service Bus. Le niveau Premium prend en charge la géo-reprise d’activité après sinistre et la réplication au niveau de l’espace de noms. À ce stade, le niveau Premium offre une haute disponibilité pour la reprise d’activité après sinistre des métadonnées à l’aide d’espaces de noms de récupération de reprise d’activité après sinistre principaux et secondaires.
Vérifiez que les messages associés sont remis dans l’ordre garanti. Tenez compte de l’obligation de définir une clé de partition, un ID de session ou un ID de message sur chaque message pour garantir que les messages associés sont envoyés à la même partition dans l’entité de messagerie.
Évaluez différentes fonctionnalités JMS par le biais de l’API JMS. Les fonctionnalités disponibles par le biais de l’API JMS 2.0 (et de son SDK) ne sont pas les mêmes que celles disponibles via le SDK natif. Par exemple, les sessions Service Bus ne sont pas disponibles dans JMS.
Implémentez la résilience pour la gestion des erreurs temporaires lors de l’envoi ou de la réception de messages. Il est essentiel d’implémenter la gestion appropriée des erreurs temporaires et des erreurs pour les opérations d’envoi et de réception afin de conserver le débit et d’éviter la perte de messages.
Implémentez la mise à l’échelle automatique des unités de messagerie pour vous assurer que vous disposez de suffisamment de ressources pour vos charges de travail.

Artefacts sources

  • Pour identifier les instances Service Bus Premium qui n’utilisent pas de points de terminaison privés, utilisez la requête suivante :

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier == 'Premium'
      and isempty(properties.privateEndpointConnections)
    
  • Pour identifier les instances Service Bus qui n’ont pas le niveau Premium, utilisez la requête suivante :

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier != 'Premium'
    
  • Pour identifier les instances Service Bus Premium qui ne se sont pas redondantes dans une zone, utilisez la requête suivante :

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier == 'Premium'
      and properties.zoneRedundant == 'false'
    

Étape suivante