Question

Je suis actuellement responsable de la mise en place d'un environnement multi déploiement BizTalk et nous prévoyons de déployer deux ou plus BizTalk Server dans un groupe BizTalk pour fournir une haute disponibilité et évolutivité.

Notre souci est de savoir comment gérer les accès concurrents pour les adaptateurs comme WCF SQL et adaptateurs de fichier, car il est probable par exemple possible adaptateur SQL que deux BizTalk hôte de réception gardera le vote sur la même table de DB.

Dans un premier temps mon idée de SQL est employer verrouillage des conseils mais je ne suis pas vraiment sûr s'il y a toute autre préoccupation à ce sujet ou s'il y a une autre solution éprouvée.

Pour adaptateur de fichier Ce que je sais est qu'il est possible de régler l'adaptateur de réception pour changer le nom du fichier en cours de traitement afin que l'autre hôte BizTalk évitera ramasser le fichier mais je ne suis pas très sûr si cette solution est déjà assez pour gérer la concurrence.

Je vous serais reconnaissant de toute aide / suggestions.

Merci beaucoup

Était-ce utile?

La solution

général la plupart des adaptateurs BizTalk éviteront les conditions de course pour vous hors de la boîte.

Par exemple, l'adaptateur de fichier BizTalk implémente déjà le verrouillage de fichier si plusieurs instances de l'adaptateur de fichier sur des hôtes différents ne lirai pas le même fichier.

L'utilisation du fichier renommer fonction est expliquée ci-dessous (la page documentation MSDN )

  

Vous pouvez également configurer le fichier   adaptateur de réception pour renommer les fichiers lorsque   de les traiter. Vous devez renommer   fichiers pour assurer que la réception   adaptateur ne génère pas de double   messages si l'emplacement de réception est   arrêté et redémarré

Il y a plusieurs adaptateurs qui ne sont pas en sécurité lorsqu'il est exécuté sur plusieurs instances. Ceux-ci comprennent (mais il peut y avoir d'autres) les protocoles POP3, FTP, adaptateurs MSMQ / MSMQT et base de données dans les scénarios de vote.

Pour les adaptateurs vous pouvez utiliser la fonction de BizTalk d'hôtes en cluster. Il y a un poste ici expliquant l'utilisation et la configuration d'un hôte en cluster. Ceci est la meilleure façon de vous assurer que votre vote SQL ne produira pas de doublons. Vous pouvez également y parvenir au niveau SQL si vous avez besoin.

Au-delà, vous êtes vraiment dans les détails des processus d'affaires et vous aurez besoin de concevoir pour chaque cas. Par exemple - ce qui se passe si le même fichier est fourni deux fois par un système source

?

Voir les deux suivants SO messages pour certains plus d'informations autour de ce sujet:

BizTalk - Recevoir la lecture Port deux fois de DB

équilibrage de charge réseau Biztalk instances

Autres conseils

Merci pour la réponse et les liens que vous avez fournies. En fait, je l'ai déjà lu certains d'entre eux et j'ai pu faire quelques essais en ce qui concerne ces solutions. Pour adaptateur SQL, le regroupement hôte BizTalk se révèle être une bonne solution, mais vous fera pas de maximiser l'avantage du groupe BizTalk (Redondance Host) à des fins d'évolutivité. Donc, pour cette raison, nous avons décidé que nous allons éviter la solution de clustering mais pour MessageBox qui a vraiment besoin de la grappe pour la haute disponibilité. Ce que nous essayons d'accomplir est d'avoir un actif / actif ou devrais-je dire l'équilibrage de la charge par l'intermédiaire du groupe BizTalk Server qui signifie que nous allons vraiment avoir plusieurs SQL reçoivent simultanément l'interrogation de l'adaptateur. Au départ, ma solution était dans le niveau de requête manipuler à travers des notes de verrouillage, ci-dessous est mon échantillon de SP.

MERGE INTO EmployeeComp
USING (SELECT EmployeeID
FROM
[AdventureWorks].[dbo].[EmployeeComp] 
WITH (READPAST, UPDLOCK) 
WHERE
[AdventureWorks].[dbo].[EmployeeComp].[Status] = 0) e(EmployeeID)
 ON EmployeeComp.EmployeeID = e.EmployeeID
WHEN MATCHED THEN
 UPDATE SET
 STATUS = 2

OUTPUT Inserted.EmployeeID, Inserted.Name, Inserted.Status;

Pouvez-vous donner des commentaires avec le SP que j'ai créé? Je l'ai fait plusieurs essais avec environ 500 000 données lues par BizTalk adaptateur WCF-SQL, puis en même temps un autre des milliers de données étant écrire et il se révèle travailler comme ce que je pensais.

Bien que la solution semble être bien, mais je ne suis pas encore sûr quels sont les impacts sur ce genre de solution, peut-être vous pouvez me jeter un peu de lumière avec cela aussi?

Aussi je pensais s'il est possible d'utiliser SQL Server Service Broker de cet article. http://blogs.msdn.com/adapters/archive/2008/06/30/using-the-wcf-sql-adapter-to-read- messages-de-ssb-files d'attente et soumettre à eux-biztalk.aspx

En ce moment je suis en train de vérifier avec elle et pas encore sûr si possible comment fonctionne cela.

Merci beaucoup

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top