Qu’est-ce qu’Azure Service Bus ?What is Azure Service Bus?

Microsoft Azure Service Bus est un courtier de messages d’intégration d’entreprise entièrement géré.Microsoft Azure Service Bus is a fully managed enterprise integration message broker. Service Bus est généralement utilisé pour dissocier des applications et des services, et est une plateforme fiable et sécurisée pour le transfert d’état et de données asynchrones.Service Bus is most commonly used to decouple applications and services from each other, and is a reliable and secure platform for asynchronous data and state transfer. Les données sont transférées entre différents services et applications à l’aide de messages.Data is transferred between different applications and services using messages. Un message est au format binaire, qui peut contenir un JSON, un XML, ou juste du texte.A message is in binary format, which can contain JSON, XML, or just text.

Les scénarios de messagerie courants sont :Some common messaging scenarios are:

  • Messagerie : transfert de données d’entreprise, telles que les ventes ou les bons de commande, les journaux ou les mouvements de stock.Messaging: transfer business data, such as sales or purchase orders, journals, or inventory movements.
  • Découpler les applications : améliorer la fiabilité et l’extensibilité des applications et des services (le client et le service n’ont pas à être en ligne en même temps).Decouple applications: improve reliability and scalability of applications and services (client and service do not have to be online at the same time).
  • Rubriques et abonnements : autoriser les relations 1:n entre les éditeurs et les abonnés.Topics and subscriptions: enable 1:n relationships between publishers and subscribers.
  • Sessions de messagerie : implémenter des flux de travail qui nécessitent le classement des messages ou le report de message.Message sessions: implement workflows that require message ordering or message deferral.

Espaces de nomsNamespaces

Un espace de noms est un conteneur d’étendue pour tous les composants de messagerie.A namespace is a scoping container for all messaging components. Plusieurs files d’attente et rubriques peuvent résider dans un seul espace de noms, et les espaces de noms servent souvent de conteneurs d’applications.Multiple queues and topics can reside within a single namespace, and namespaces often serve as application containers.

Files d’attenteQueues

Les messages sont envoyés vers et reçus depuis les files d’attente.Messages are sent to and received from queues. Les files d’attente vous permettent de stocker les messages jusqu’à ce que l’application réceptrice soit disponible pour recevoir et traiter ces messages.Queues enable you to store messages until the receiving application is available to receive and process them.

File d'attente

Les messages dans les files d’attente sont classés et horodatés à l’arrivée.Messages in queues are ordered and timestamped on arrival. Une fois accepté, le message est conservé en toute sécurité dans un stockage redondant.Once accepted, the message is held safely in redundant storage. Les messages sont remis en mode pull, qui remet les messages à la demande.Messages are delivered in pull mode, which delivers messages on request.

RubriquesTopics

Vous pouvez également utiliser des rubriques pour envoyer et recevoir des messages.You can also use topics to send and receive messages. Si une file d’attente est souvent utilisée pour la communication point à point, les rubriques sont utiles dans les scénarios de publication/abonnement.While a queue is often used for point-to-point communication, topics are useful in publish/subscribe scenarios.

Rubrique

Les rubriques peuvent avoir plusieurs abonnements indépendants.Topics can have multiple, independent subscriptions. Un abonné à une rubrique peut recevoir une copie de chaque message envoyé à cette rubrique.A subscriber to a topic can receive a copy of each message sent to that topic. Les abonnements sont des entités nommées qui sont créées durablement, mais qui peuvent éventuellement expirer ou se supprimer automatiquement.Subscriptions are named entities, which are durably created but can optionally expire or auto-delete.

Dans certains scénarios, vous n’avez pas besoin d’abonnements individuels pour recevoir tous les messages envoyés à une rubrique.In some scenarios, you may not want individual subscriptions to receive all messages sent to a topic. Si c’est le cas, vous pouvez utiliser des règles et des filtres pour définir les conditions qui déclenchent des actions facultatives, filtrent les messages spécifiques et définissent ou modifient les propriétés des messages.If so, you can use rules and filters to define conditions that trigger optional actions, filter specified messages, and set or modify message properties.

Fonctionnalités avancéesAdvanced features

Service Bus a également des fonctionnalités avancées qui vous permettent de résoudre des problèmes de messagerie plus complexes.Service Bus also has advanced features that enable you to solve more complex messaging problems. Les sections suivantes décrivent ces fonctionnalités principales :The following sections describe these key features:

Sessions de messageMessage sessions

Pour garantir l’application de la méthode FIFO (premier entré, premier sorti) dans Service Bus, utilisez Sessions.To realize a first-in, first-out (FIFO) guarantee in Service Bus, use sessions. Les sessions de messagerie permettent un traitement conjoint et chronologique de séquences illimitées de messages associés.Message sessions enable joint and ordered handling of unbounded sequences of related messages.

Transfert automatiqueAuto-forwarding

La fonctionnalité de transfert automatique vous permet de chaîner une file d’attente ou un abonnement à une autre file d’attente ou rubrique qui fait partie du même espace de noms.The auto-forwarding feature enables you to chain a queue or subscription to another queue or topic that is part of the same namespace. Lorsque le transfert automatique est activé, Service Bus supprime automatiquement les messages placés dans la première file d’attente ou le premier abonnement (source) pour les placer dans la deuxième file d’attente ou rubrique (destination).When auto-forwarding is enabled, Service Bus automatically removes messages that are placed in the first queue or subscription (source) and puts them in the second queue or topic (destination).

Lettres mortesDead-lettering

Service Bus prend en charge une file d’attente de lettres mortes (DLQ) pour conserver les messages qui ne peuvent pas être remis aux destinataires ou les messages qui ne peuvent pas être traités.Service Bus supports a dead-letter queue (DLQ) to hold messages that cannot be delivered to any receiver, or messages that cannot be processed. Vous pouvez supprimer des messages depuis la DLQ et les inspecter.You can then remove messages from the DLQ and inspect them.

Remise planifiéeScheduled delivery

Vous pouvez envoyer des messages dans une file d’attente ou une rubrique pour les traiter en différé, par exemple, si vous avez besoin de planifier un travail de sorte qu’il soit disponible pour être traité par un système à un moment précis.You can submit messages to a queue or topic for delayed processing; for example, to schedule a job to become available for processing by a system at a certain time.

Report de messageMessage deferral

Lorsqu’un client de file d’attente ou d’abonnement reçoit un message qu’il souhaite traiter, mais pour lequel le traitement n’est pas possible actuellement en raison de circonstances particulières dans l’application, l’entité a la possibilité de reporter la récupération du message à plus tard.When a queue or subscription client receives a message that it is willing to process, but for which processing is not currently possible due to special circumstances within the application, the entity has the option to defer retrieval of the message to a later point. Le message reste dans la file d’attente ou l’abonnement, mais il est mis de côté.The message remains in the queue or subscription, but it is set aside.

Traitement par lotBatching

Le traitement par lot côté client permet à un client de file d’attente ou de rubrique de retarder l’envoi d’un message pendant une période donnée.Client-side batching enables a queue or topic client to delay sending a message for a certain period of time. Si le client envoie des messages supplémentaires pendant cette période, il transmet les messages dans un seul lot.If the client sends additional messages during this time period, it transmits the messages in a single batch.

TransactionsTransactions

Une transaction regroupe deux ou plusieurs opérations dans une étendue d’exécution.A transaction groups two or more operations together into an execution scope. Service Bus prend en charge les opérations de regroupement par rapport à une entité de messagerie unique (file d’attente, rubrique, abonnement) dans l’étendue d’une transaction.Service Bus supports grouping operations against a single messaging entity (queue, topic, subscription) within the scope of a transaction.

Filtrage et actionsFiltering and actions

Les abonnés peuvent définir les messages qu’ils veulent recevoir d’une rubrique.Subscribers can define which messages they want to receive from a topic. Ces messages sont spécifiés sous la forme d’une ou de plusieurs règles d’abonnement nommées.These messages are specified in the form of one or more named subscription rules. Pour chaque condition de règle de correspondance, l’abonnement crée une copie du message, qui peut être annotée différemment selon la règle de correspondance utilisée.For each matching rule condition, the subscription produces a copy of the message, which may be differently annotated for each matching rule.

Suppression automatique inactiveAuto-delete on idle

La suppression automatique inactive vous permet de spécifier un intervalle d’inactivité après lequel la file d’attente est automatiquement supprimée.Auto-delete on idle enables you to specify an idle interval after which the queue is automatically deleted. La durée minimale est de 5 minutes.The minimum duration is 5 minutes.

Détection des doublonsDuplicate detection

Si une erreur se produit et suscite un doute chez le client concernant le résultat d’une opération d’envoi, la détection des doublons lève ce type d’incertitude en permettant à l’expéditeur de renvoyer le même message, et à la file d’attente ou la rubrique d’ignorer les copies en double.If an error occurs that causes the client to have any doubt about the outcome of a send operation, duplicate detection takes the doubt out of these situations by enabling the sender to re-send the same message, and the queue or topic discards any duplicate copies.

Protocoles SAP et RBAC, et identités managées pour les ressources AzureSAS, RBAC, and Managed identities for Azure resources

Service Bus prend en charge les protocoles de sécurité tel que les Signatures d’accès partagé (SAP), le Contrôle d’accès en fonction du rôle (RBAC) et les Identités managées pour les ressources Azure.Service Bus supports security protocols such as Shared Access Signatures (SAS), Role Based Access Control (RBAC) and Managed identities for Azure resources.

Géorécupération d’urgenceGeo-disaster recovery

Lorsque les régions ou centres de données Azure subissent un temps d’arrêt, la géo-récupération d’urgence permet au traitement des données de continuer à fonctionner dans un autre centre de données ou région.When Azure regions or datacenters experience downtime, Geo-disaster recovery enables data processing to continue operating in a different region or datacenter.

SécuritéSecurity

Service Bus prend en charge les protocoles AMQP 1.0 et HTTP/REST.Service Bus supports standard AMQP 1.0 and HTTP/REST protocols.

Bibliothèques clientesClient libraries

Service Bus prend en charge les bibliothèques clientes pour .NET, Java, et JMS.Service Bus supports client libraries for .NET, Java, JMS.

IntégrationIntegration

Service Bus intègre complétement les services Azure suivants :Service Bus fully integrates with the following Azure services:

Étapes suivantesNext steps

Pour commencer à utiliser la messagerie Service Bus, consultez les articles suivants :To get started using Service Bus messaging, see the following articles: