Elevata disponibilità degli host BizTalk
BizTalk Server offre una grande flessibilità per gestire la disponibilità elevata perché è possibile dedicare in modo strategico host logici per eseguire aree specifiche di funzionalità, ad esempio la ricezione di messaggi, l'invio di messaggi o l'elaborazione di orchestrazioni.
Un host BizTalk è un contenitore logico in un gruppo BizTalk Server in grado di ospitare elementi BizTalk Server quali gestori di adapter, indirizzi di ricezione (incluse le pipeline) e orchestrazioni. In genere gli elementi che presentano requisiti di scalabilità simili vengono raggruppati in un host specifico. Ad esempio, gli indirizzi di ricezione vengono raggruppati in un host di "ricezione", le porte di trasmissione in un host di "trasmissione" e le orchestrazioni in un host di "elaborazione".
Dopo aver creato un host (un contenitore logico), è possibile configurare le istanze dell'host per l'esecuzione in computer fisici BizTalk Server nel gruppo BizTalk Server. Un'istanza host viene eseguita come servizio Windows nei computer BizTalk Server designati. Anche se non è possibile eseguire più istanze dello stesso host in un determinato computer BizTalk Server, è possibile eseguire più istanze di un host specifico configurando istanze dell'host in computer BizTalk Server separati in un gruppo di BizTalk Server. È anche possibile eseguire più istanze di host diversi in un singolo computer BizTalk Server.
Gli elementi contenuti negli host BizTalk possono eseguire le funzioni seguenti:
Ricezione Questi elementi eseguono l'elaborazione iniziale dei messaggi dopo che sono stati prelevati in una posizione di ricezione. Quando un host contiene un elemento ricevente, quale un indirizzo o una pipeline di ricezione, funge da limite di sicurezza e le operazioni di decodifica e decrittografia dei messaggi vengono eseguite in una pipeline all'interno dell'host.
Invio Questi elementi eseguono l'elaborazione finale dei messaggi prima che vengano inviati alla porta di trasmissione. Quando un host contiene un elemento di invio, quale una porta o una pipeline di trasmissione, funge da limite di sicurezza e le operazioni di firma e crittografia dei messaggi vengono eseguite in una pipeline all'interno dell'host.
Elaborazione Questi elementi elaborano i messaggi in base alle istruzioni in un'orchestrazione.
Anche se un unico host BizTalk può contenere elementi per la ricezione, l'invio e l'elaborazione dei messaggi, è consigliabile creare diversi host per le singole funzioni allo scopo di creare limiti di sicurezza e semplificare la gestione e la scalabilità. È particolarmente importante utilizzare diversi host per l'elaborazione e per le operazioni di ricezione/invio e separare gli elementi attendibili e non attendibili.
Se, ad esempio, si riceve un messaggio, si esegue un'orchestrazione e si inviano dieci messaggi, è opportuno separare le funzionalità di ricezione e invio in due host distinti poiché gli elementi mittenti dovranno gestire un traffico dieci volte maggiore rispetto agli elementi riceventi. Se si riceve un messaggio, si esegue un'orchestrazione e si invia un messaggio, è possibile considerare tali elementi come una singola unità di lavoro e raggrupparli in un unico host. In alternativa, è possibile separarli in tre host diversi per aumentare le prestazioni e la flessibilità.
Gli host BizTalk sono uno dei due tipi, In-process o Isolated. Gli host in-process vengono eseguiti all'interno del processo di runtime BizTalk Server, mentre gli host isolati non vengono eseguiti nel processo di runtime BizTalk Server. Nella tabella seguente sono elencati gli elementi contenuti nei due diversi tipi di host.
Tipo di host | Contenitore logico di |
---|---|
In-Process | -Orchestrazioni - Gestori di trasmissione adapter - Gestori di ricezione dell'adapter diversi da HTTP e SOAP |
Isolato | Gestori di ricezione HTTP e SOAP |
Per altre informazioni sugli host e sulle istanze host, vedere Gestione di host BizTalk e istanze host.
Per garantire la disponibilità elevata per gli host BizTalk, è necessario disporre di due o più istanze host per ogni host nell'ambiente (in due o più computer BizTalk Server). La presenza di più istanze dell'host per ogni host consente di garantire che, se un'istanza dell'host non risulta disponibile, gli altri computer che eseguono istanze di tale host possono riprendere le funzioni delle istanze dell'host che presentano problemi o errori e il sistema può funzionare normalmente con un'interruzione minima.
Persistenza dei messaggi
BizTalk Server si basa principalmente su SQL Server per la disponibilità elevata perché ogni host coinvolto in BizTalk Server rende persistenti i messaggi nel database MessageBox BizTalk. Ad esempio, quando BizTalk Server riceve un messaggio in arrivo, l'host di ricezione lo rende persistente nel database MessageBox prima che altri host recuperino il messaggio per l'elaborazione dell'orchestrazione e l'invio.
Se la soluzione BizTalk Server in uso include l’orchestrazione, BizTalk Server instrada il messaggio all’host che esegue il processo di business (host di elaborazione) e salva il messaggio nel database MessageBox al termine dell’orchestrazione. L'host di invio recupera quindi il messaggio dal database MessageBox prima di inviarlo all'applicazione esterna tramite l'adapter di trasmissione.
Separazione delle funzioni dell'host e del database
Poiché BizTalk Server separa i dati dagli host che elaborano i dati, un passaggio che è possibile eseguire per creare un ambiente a disponibilità elevata consiste nel separare le funzioni host (invio, ricezione ed elaborazione) che si verificano in BizTalk Server dalle funzioni di database che si verificano in SQL Server. In questo modo è possibile assicurare la scalabilità degli host di elaborazione, invio e ricezione in modo indipendente dai database in cui sono archiviati i dati. I livelli di runtime e di database sono correlati, ovvero se si aumenta il numero di computer BizTalk Server è probabilmente necessario aumentare il numero di computer che eseguono SQL Server per gestire il carico aggiuntivo. Non esiste, tuttavia, una relazione diretta tra il livello di database e il livello di BizTalk. Vengono utilizzati due livelli indipendenti che possono essere adattati separatamente.
È necessario procedere diversamente per garantire la disponibilità elevata degli host e dei database. Nelle sezioni successive verranno illustrate le operazioni necessarie per garantire la disponibilità elevata degli host riceventi, di invio e di elaborazione. Per altre informazioni su come rendere il livello di database a disponibilità elevata, vedere Disponibilità elevata per i database di BizTalk Server.
Nel caso di distribuzioni in cui BizTalk Server gestisce un volume di elaborazione maggiore di quello gestito da SQL, è possibile configurare più computer BizTalk Server che utilizzano lo stesso computer che esegue SQL Server. In questa configurazione vengono utilizzate le risorse disponibili in ogni computer. Ad esempio, se l’utilizzo della CPU o della memoria è elevato (superiore al 75%) nel computer BizTalk Server e ridotto (inferiore al 25%) nel computer che esegue SQL Server, è possibile includere altri computer BizTalk Server per distribuire il carico di lavoro e innalzare l’utilizzo delle risorse nel computer che esegue SQL Server.
Contenuto della sezione
Vedere anche
Elevata disponibilità dei database BizTalk Server
Disponibilità elevata di Enterprise Single Sign-On