Configuration de la haute disponibilité pour des hôtes BizTalk

BizTalk Server offre une grande flexibilité pour traiter la haute disponibilité, car vous pouvez dédier stratégiquement des hôtes logiques pour exécuter des domaines de fonctionnalités spécifiques, tels que la réception de messages, l’envoi de messages ou le traitement des orchestrations.

Un hôte BizTalk est un conteneur logique se trouvant dans un groupe de serveurs BizTalk Server et capable de contenir des éléments BizTalk Server tels que des gestionnaires d'adaptateur, des emplacements de réception (y compris des pipelines) et des orchestrations. En général, il faut regrouper dans un hôte particulier des éléments ayant des exigences similaires en termes d'évolutivité. Par exemple, vous devez regrouper les emplacements de réception dans un hôte « Réception », les ports d'envoi dans un hôte « Envoi » et les orchestrations dans un hôte « Traitement ».

Après avoir créé un hôte (un conteneur logique), vous pouvez configurer des instances de l’hôte pour qu’elles s’exécutent sur des ordinateurs BizTalk Server physiques du groupe BizTalk Server. Un instance hôte s’exécute en tant que service Windows sur le ou les ordinateurs BizTalk Server désignés. Bien qu’il ne soit pas possible d’exécuter plusieurs instances du même hôte sur un ordinateur BizTalk Server donné, vous pouvez exécuter plusieurs instances d’un hôte particulier en configurant des instances de l’hôte sur des ordinateurs BizTalk Server distincts dans un groupe BizTalk Server. Vous pouvez également exécuter plusieurs instances de différents hôtes sur un seul ordinateur BizTalk Server.

Les éléments présents dans les hôtes BizTalk permettent l'exécution des fonctions suivantes :

  • Recevoir Ces éléments effectuent le traitement initial des messages une fois qu’ils sont récupérés dans un emplacement de réception. Lorsqu’un hôte contient un élément de réception, tel qu’un emplacement de réception ou un pipeline, il agit comme une limite de sécurité, et le décodage et le déchiffrement des messages se produisent dans un pipeline au sein de l’hôte.

  • Envoyer Ces éléments effectuent le traitement final des messages avant d’être envoyés au port d’envoi. Lorsqu'un hôte contient un élément de réception, par exemple un emplacement de réception ou un pipeline, il agit comme une limite de sécurité, et le décodage ainsi que le déchiffrement du message sont réalisés dans un pipeline au sein de l'hôte.

  • Traitement Ces éléments traitent les messages en fonction des instructions d’une orchestration.

    Bien qu'un seul hôte BizTalk puisse contenir les éléments qui reçoivent, envoient et traitent les messages, il est recommandé de créer différents hôtes pour chaque fonction pour créer des limites de sécurité et faciliter la gestion et l'évolutivité. Il est notamment préférable d'utiliser des hôtes différents pour les opérations de traitement, d'envoi et de réception, et de séparer les éléments approuvés des éléments non approuvés.

    Par exemple, si vous recevez un message, exécutez une orchestration et recevez dix messages, vous devez séparer les fonctions d'envoi et de réception et les répartir sur deux hôtes distincts. En effet, le trafic correspondant aux éléments d'envoi sera dix fois plus important que celui des éléments de réception. Si vous recevez un message, exécutez une orchestration et envoyez un seul message, vous pouvez considérer ces éléments comme des unités de travail et les regrouper dans un seul et même hôte. Une autre possibilité consiste à les répartir entre trois hôtes différents afin d'améliorer les performances et la flexibilité.

    Les hôtes BizTalk sont de l’un des deux types : In-process ou Isolé. Les hôtes in-process s’exécutent à l’intérieur du processus d’exécution BizTalk Server tandis que les hôtes isolés ne s’exécutent pas dans le BizTalk Server processus d’exécution. Le tableau suivant répertorie les éléments que chaque type d'hôte est susceptible de contenir.

Type d'hôte Éléments contenus
In-Process -Orchestrations
- Gestionnaires d’envoi d’adaptateurs
- Gestionnaires de réception de l’adaptateur autres que HTTP et SOAP
Isolé Gestionnaires de réception HTTP et SOAP

Pour plus d’informations sur les hôtes et les instances hôtes, consultez Gestion des hôtes BizTalk et des instances hôtes.

Pour fournir une haute disponibilité pour les hôtes BizTalk, vous devez disposer de deux instances hôtes ou plus pour chaque hôte de votre environnement (sur au moins deux ordinateurs BizTalk Server). L'existence de plusieurs instances pour chaque hôte garantit que, lorsqu'une instance d'hôte est indisponible, les autres ordinateurs exécutant les instances de cet hôte prennent le relais de l'instance défaillante et que l'ensemble du système continue de fonctionner en évitant au maximum les interruptions.

Persistance des messages

BizTalk Server s’appuie fortement sur SQL Server pour la haute disponibilité, car chaque hôte impliqué dans BizTalk Server conserve les messages dans la base de données MessageBox BizTalk. Par exemple, lorsque BizTalk Server reçoit un message entrant, l’hôte de réception le conserve dans la base de données MessageBox avant que d’autres hôtes récupèrent le message pour le traitement et l’envoi de l’orchestration.

Si votre solution BizTalk Server comprend une orchestration, le serveur achemine le message vers l'hôte exécutant le processus d'entreprise (hôte de traitement) et enregistre le message dans la base de données MessageBox une fois l'orchestration terminée. L'hôte d'envoi extrait ensuite le message de la base de données MessageBox avant de l'envoyer à l'application externe concernée par l'intermédiaire de l'adaptateur d'envoi approprié.

Séparation des fonctions d'hôte et de base de données

Étant donné que BizTalk Server sépare les données des hôtes qui traitent les données, une étape que vous pouvez effectuer pour créer un environnement hautement disponible consiste à séparer les fonctions hôtes (envoi, réception et traitement) qui se produisent dans BizTalk Server des fonctions de base de données qui se produisent dans SQL Server. Vous pouvez ainsi mettre à l'échelle les hôtes de traitement, d'envoi et de réception indépendamment des bases de données. Les couches runtime et base de données sont liées, c’est-à-dire que si vous augmentez le nombre d’ordinateurs BizTalk Server, vous devrez probablement augmenter le nombre d’ordinateurs exécutant SQL Server pour gérer la charge supplémentaire. Cependant, aucun lien direct n'existe entre la couche de la base de données et celle de BizTalk. Il s'agit en effet de deux couches indépendantes que vous pouvez mettre à l'échelle de façon distincte.

Les opérations à effectuer pour obtenir une haute disponibilité des hôtes sont différentes de celles qui permettent d'obtenir une haute disponibilité des bases de données. Les sections suivantes comprennent des informations sur la procédure à suivre pour que les hôtes de réception, d'envoi et de traitement soient hautement disponibles. Pour plus d’informations sur la façon de rendre la couche de base de données hautement disponible, consultez Fournir une haute disponibilité pour les bases de données BizTalk Server.

Dans des déploiements où les processus de BizTalk Server sont plus nombreux que ceux de SQL Server, vous pouvez configurer plusieurs ordinateurs BizTalk Server de sorte qu'ils utilisent l'ordinateur exécutant SQL Server. Dans une telle configuration, les ressources utilisées sont celles disponibles sur chaque ordinateur. Par exemple, si l'utilisation de l'UC ou de la mémoire est élevée (supérieure à 75 %) sur l'ordinateur BizTalk Server, mais faible (inférieure à 25 %) sur celui de SQL Server, vous pouvez ajouter des ordinateurs BizTalk Server destinés à répartir la charge de travail et augmenter l'utilisation des ressources sur l'ordinateur SQL Server.

Dans cette section

Voir aussi

Configuration de la haute disponibilité pour les bases de données BizTalk Server
Haute disponibilité appliquée à l’authentification unique de l’entreprise