Domanda

Sono attualmente responsabile per tirare su un ambiente multi BizTalk distribuzione e abbiamo in programma di distribuzione di due o più di BizTalk Server in un gruppo BizTalk per fornire alta disponibilità e scalabilità.

La nostra preoccupazione ora è come gestire la concorrenza per gli adattatori come WCF SQL e alimentatori file perché è probabile possibile, ad esempio per l'adattatore di SQL che due BizTalk Receive ospite continuerà a sondaggi sulla stessa tabella di DB.

Inizialmente la mia idea per SQL è impiegare hint di blocco, ma io non sono davvero sicuro se c'è qualche altra preoccupazione su questo o se c'è qualche altra soluzione provata.

Per File Adapter quello che so è che è possibile impostare l'adattatore di ricezione per cambiare il nome del file durante la lavorazione in modo che altri host BizTalk sarà evitare di far salire il file ma io non sono molto sicuro se questa soluzione è già abbastanza per gestire la concorrenza.

Gradirei qualsiasi aiuto / suggerimenti.

Molte grazie

È stato utile?

Soluzione

maggior parte degli adattatori di BizTalk eviterà condizioni di gara generali per voi fuori dalla scatola.

Ad esempio, l'adattatore file di BizTalk già implementa file di blocco in modo più istanze della scheda di file su host diversi non sarà leggere lo stesso file.

L'utilizzo della funzione rinomina file è illustrata di seguito (Dal MSDN documentazione )

  

È anche possibile configurare il file   ricevere adattatore per rinominare i files quando   loro elaborazione. Si dovrebbe rinominare   file per garantire che la ricezione   Adattatore non genera duplicato   messaggi se la ricevono posizione è   arrestato e riavviato

Ci sono diversi adattatori che non sono sicuri quando viene eseguito su più istanze. Questi includono (ma ci possono essere altri) il POP3, FTP, MSMQ / MSMQT e gli adattatori di database in scenari elettorali.

Per questi adattatori è possibile utilizzare la funzionalità di BizTalk di host in cluster. C'è un post qui che spiega l'utilizzo e la configurazione di un ospite in cluster. Questo è il modo più semplice per garantire la vostra interrogazione SQL non produrrà i duplicati. È inoltre possibile raggiungere questo obiettivo a livello di SQL se è necessario.

Al di là che si sta davvero entrando nello specifico dei processi di business e sarà necessario progettare per ogni singolo caso. Per esempio - cosa succede se lo stesso file viene fornito due volte da un sistema di origine

?

Vedere le due seguenti posti Così, per qualche informazione in più intorno a questo tema:

BizTalk - Ricevi Port leggere due volte da DB

Network Load Balancing Biztalk istanze

Altri suggerimenti

questa sezione di MSDN può anche dare una mano:

http://msdn.microsoft.com/ it-it / library / aa558765 (BTS.20) aspx

Grazie per la risposta e il link che hai fornito. In realtà ho letto già alcuni di loro e sono stato anche in grado di fare qualche prova per quanto riguarda quelle soluzioni. Per adapter SQL, il clustering di BizTalk Host dimostra di essere una buona soluzione, ma farà sì che non di massimizzare il vantaggio di BizTalk Group (ridondanza Host) a scopo scalabilità. Quindi, per questo motivo abbiamo deciso che andremo a evitare la soluzione di clustering, ma per il MessageBox, che ha realmente bisogno il raggruppamento per High Availability. Quello che stiamo cercando di realizzare è avere un attivo / attivo o forse dovrei dire il bilanciamento del carico per mezzo di gruppo BizTalk Server che significa che siamo davvero di avere diversi SQL ricevere adattatore polling contemporaneamente. Inizialmente la soluzione era a livello di query maneggiarlo attraverso indizi di bloccaggio, sotto è campione del mio 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;

Si può dare un feedback con la SP che ho creato? Ho fatto diverse prove con circa 500.000 dati che vengono letti da BizTalk adattatore WCF-SQL e quindi allo stesso tempo un altro migliaia di dati da scrivere e dimostrano di essere al lavoro come quello che mi aspettavo.

Anche se la soluzione sembra essere fine ma non sono ancora sicuro che cosa sono gli impatti di questo tipo di soluzione, forse mi può fare un po 'di luce con questo anche?

Inoltre stavo pensando se è possibile utilizzare SQL Server Service Broker da questo articolo. http://blogs.msdn.com/adapters/archive/2008/06/30/using-the-wcf-sql-adapter-to-read- Messaggi-da-SSB-code-e-presentare-li-a-biztalk.aspx

In questo momento sto ancora controllando con esso e non ancora sicuro se come possibile lavorare questo fuori.

Molte grazie

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top