Exporter (0) Imprimer
Développer tout

Meilleures pratiques pour tirer parti de l'API de messagerie répartie de Azure Service Bus

Mis à jour: mars 2014

Auteur : Valery Mizonov

Contributeurs : Seth Manheim, Paolo Salvatori, James Podgorski, Eric Lam, Jayu Katti

Cet article fournit des conseils pratiques pour les développeurs qui utilisent l’API de messagerie répartie managée .NET dans Windows Azure Service Bus. Les recommandations fournies dans cet article proviennent directement des projets récents de clients. Lors de la génération de solutions réelles à l’aide de Service Bus, nous avons appris quelques meilleures pratiques clés et des secrets peu connus qui aideront à améliorer la fiabilité et les performances des solutions qui utilisent les nouvelles fonctionnalités de messagerie répartie dans Service Bus. Cet article envisage de partager ces leçons avec la communauté de développeurs.

Messagerie relayée et messagerie répartie

Microsoft Azure Service Bus fournit deux solutions de messagerie complètes. La première solution est disponible via un service de « relais » centralisé et d'équilibrage de charge exécuté dans le cloud qui prend en charge un large éventail de protocoles de transport et des standards de services Web, notamment SOAP, WS-* et REST. Le service de relais prend en charge la messagerie `directe unidirectionnelle, la messagerie demande/réponse et la messagerie d'égal à égal. Le modèle associé à ce type de solution de messagerie est appelé messagerie relayée. Dans le modèle de messagerie relayée, un service sur site ou un service informatique se connecte au service de relais via un port sortant et crée un socket bidirectionnel pour les communications liées à une adresse de rendez-vous spécifique. Le client n'a pas à savoir où réside le service, et le service sur site ne nécessite aucun port entrant ouvert sur le pare-feu. La messagerie relayée offre de nombreux avantages, mais nécessite que le serveur et le client soient en ligne simultanément pour envoyer et recevoir des messages. La messagerie relayée est disponible depuis la version initiale de Service Bus.

La seconde solution de messagerie permet de tirer parti des fonctionnalités de messagerie répartie. Le schéma de messagerie répartie peut également être considéré comme messagerie asynchrone ou « découplée dans le temps ». Les producteurs (expéditeurs) et les consommateurs (récepteurs) ne sont pas obligés d'être en ligne en même temps. L'infrastructure de messagerie stocke de manière fiable des messages jusqu'à ce que le récepteur soit prêt à les recevoir. Cela permet aux composants de l'application distribuée d'être déconnectés, chacun volontairement ; par exemple, à des fins de maintenance, ou en raison d'un blocage d'un composant, sans affecter le système entier. En outre, l'application de destination peut uniquement être mise en ligne pendant certaines heures de la journée, par exemple un système de gestion des stocks qui ne doit s'exécuter qu'à la fin d'un jour ouvrable.

Les principaux composants de l'infrastructure de messagerie Service Bus répartie sont les files d'attente, les rubriques et les abonnements. Ces composants permettent de nouveaux scénarios de messagerie asynchrone, tels que le découplage temporel, la publication/abonnement, le lissage de charge et l'équilibrage de charge. Pour plus d'informations sur ces scénarios, consultez la section Ressources supplémentaires.

Présentation de l'API de messagerie répartie

Dans toute cette aide, vous verrez plusieurs références à des composants, classes et types disponibles dans l'API de messagerie répartie managée .NET. Pour placer les éléments dans leur contexte, nous répertorions certaines API clés qui fournissent et prennent en charge la fonctionnalité de messagerie répartie dans Service Bus.

Les classes suivantes sont les membres de l'API les plus fréquemment utilisés dans les espaces de noms Microsoft.ServiceBus et Microsoft.ServiceBus.Messaging, souvent impliqués lorsque vous développez une solution de messagerie répartie :

 

Nom de classe

Description

BrokeredMessage

Représente l'unité de communication entre les clients Service Bus. Les instances sérialisées des objets BrokeredMessage sont transmises via un réseau lorsque les clients de messagerie communiquent via des files d'attente et des rubriques.

QueueClient

Représente un objet de messagerie qui permet l'envoi et la réception de messages d'une file d'attente Service Bus.

QueueDescription

Représente un objet de métadonnées décrivant une file d'attente Service Bus, y compris le chemin d'accès de la file d'attente, les paramètres du comportement (tels que durée de verrou, durée de vie par défaut, détection de doublons) et les points de données d'information (tels que la longueur et la taille de la file d'attente active).

TopicClient

Représente un objet de messagerie qui permet l'envoi de messages à une rubrique Service Bus.

TopicDescription

Représente un objet de métadonnées décrivant une rubrique Service Bus, y compris le chemin d'accès de la rubrique, les paramètres du comportement (tels que détection de doublons) et les points de données d'information (tels que la taille actuelle et la taille maximale de la rubrique).

SubscriptionClient

Représente un objet de messagerie qui permet la réception de messages d'un abonnement Service Bus.

SubscriptionDescription

Représente un objet de métadonnées décrivant un abonnement Service Bus, y compris le nom de l'abonnement, le chemin d'accès de la rubrique propriétaire, les paramètres du comportement (tels que prise en charge de session, durée de vie par défaut, durée de verrou) et les points de données d'information (tels que le nombre de messages actuel).

NamespaceManager

Représente un objet de gestion chargé des opérations d'exécution avec les entités de messagerie Service Bus (files d'attente, rubriques, abonnements, règles), y compris la création, la récupération, la suppression et l'assertion d'existence.

MessagingFactory

Représente un objet de fabrique chargé d'instancier, de suivre et de gérer le cycle de vie des clients d'entité de messagerie tels que TopicClient, QueueClient et SubscriptionClient.

MessageReceiver

Représente un objet de messagerie abstrait prenant en charge des fonctionnalités de messagerie enrichies en mettant plus particulièrement l'accent sur les opérations de réception de messages.

MessageSender

Représente un objet de messagerie abstrait prenant en charge les fonctionnalités de messagerie enrichies en mettant plus particulièrement l'accent sur les opérations d'envoi de messages.

MessageSession

Représente une session de message qui permet le regroupement des messages connexes pour le traitement dans une seule transaction.

Filter

Représente un objet de métadonnées abstrait composé d'une expression de filtre et d'une action associée qui s'exécute dans le moteur d'évaluation des abonnements Service Bus. La classe Filter est destinée à une classe de base pour TrueFilter, FalseFilter, SqlFilter et CorrelationFilter qui représentent les implémentations de l'objet de métadonnées pour un filtre donné.

TokenProvider

Représente un objet de fabrique qui fournit l'accès aux différents types de fournisseurs de jetons de sécurité chargés de l'acquisition de jetons SAML et de jetons Web simples et de secret partagé.

Il est recommandé de vous familiariser avec ces artefacts de l’API pour tirer parti de la création de votre première solution de messagerie répartie avec Service Bus. Notez que la liste des classes disponibles dans l'API de messagerie répartie n'est pas exhaustive. Pour obtenir une liste complète des membres de l'API, consultez la documentation MSDN.

Meilleures pratiques dans l'API de messagerie répartie

Les rubriques de cette section partagent des recommandations spécifiques dérivées d'une expérience pratique avec l'API de messagerie répartie managée .NET. L'objectif de ces recommandations consiste à encourager les développeurs à implémenter les techniques et les modèles décrits dans les sections ci-après, afin de mettre à disposition des solutions de messagerie robustes. Cette section contient les rubriques suivantes :

Ajouts de la communauté

Afficher:
© 2014 Microsoft