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 la partie consommatrice soit prête à recevoir les messages.

Les avantages sont les suivants :

  • Équilibrage de charge entre les travailleurs concurrents.
  • Routage et transfert sécurisés des données et du contrôle entre les limites du service et de l’application.
  • Coordination du travail transactionnel nécessitant un degré élevé de fiabilité.

Pour plus d’informations sur l’utilisation de Service Bus, consultez Messagerie Azure Service Bus. Découvrez comment configurer la messagerie qui connecte des applications et des services dans des environnements locaux et cloud.

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

Note

Auparavant, il était nécessaire de définir la propriété zoneRedundant sur true pour activer les zones de disponibilité, mais ce comportement a changé pour activer les zones de disponibilité par défaut. Les espaces de noms existants sont en cours de migration vers des zones de disponibilité, si cela est possible, et la propriété zoneRedundant est obsolète. La propriété zoneRedundant peut toujours s’afficher comme false, même lorsque les zones de disponibilité ont été activées.

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

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

Considérations relatives à la conception

Maximisez la fiabilité avec un SLA de disponibilité d'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 considérations relatives à la conception :

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é.

Liste de contrôle

Avez-vous configuré Azure Service Bus avec une fiabilité à l’esprit ?

  • Évaluez les avantages du niveau Premium d’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 Messaging Queue Protocol) et utilisez les points de terminaison de service ou les points de terminaison privés si possible.
  • Passez en revue les meilleures pratiques pour améliorer les performances à l'aide de la messagerie Service Bus.
  • Implémentez la géoréplication côté expéditeur et 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 Geo-Disaster Recovery.
  • 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) via 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 de 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 d’Azure Service Bus. Envisagez de migrer vers le niveau Premium de Service Bus pour bénéficier de la protection contre les interruptions et les catastrophes 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 lorsque cela est possible. Cette recommandation conserve 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é expéditeur et 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é expéditeur et côté récepteur. 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. - Mode actif/actif
- actif/passif
- Espace de noms associé (Actif/Passif)
- Geo-Replication (actif/passif avec réplication complète des données)
- Remarque : La région secondaire doit de préférence être une région jumelé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 Geo-Disaster Recovery. Le choix du modèle dépend des exigences métier et de l’objectif de temps de récupération (RTO).
Implémentez la haute disponibilité pour l’espace de noms Service Bus. Le niveau Premium supporte la reprise après sinistre géographique 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 la nécessité de définir une clé de partition, un ID de session ou un ID de message sur chaque message pour vous assurer que les messages associés sont envoyés à la même partition dans l’entité de messagerie.
Évaluez différentes fonctionnalités JMS via l’API JMS. Les fonctionnalités disponibles via l’API JMS 2.0 (et son Kit de développement logiciel (SDK)) ne sont pas identiques aux fonctionnalités disponibles via le Kit de développement logiciel (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 des erreurs temporaires et la gestion des erreurs appropriées pour les opérations d’envoi et de réception afin de maintenir le débit et d’empêcher 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 disponibles 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 ne se trouvent pas au niveau Premium, utilisez la requête suivante :

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier != 'Premium'
    

Étape suivante