Proporcionar alta disponibilidad a hosts de BizTalk
BizTalk Server proporciona una gran flexibilidad para abordar la alta disponibilidad, ya que puede dedicar estratégicamente hosts lógicos a ejecutar áreas específicas de funcionalidad, como recibir mensajes, enviar mensajes o procesar orquestaciones.
Un host de BizTalk es un contenedor lógico en un grupo de servidores BizTalk Server que puede alojar elementos de BizTalk Server como controladores de adaptador, ubicaciones de recepción (incluidas canalizaciones) y orquestaciones. Normalmente, se agrupan elementos que tienen requisitos de escala similares en un host particular. Por ejemplo, se pueden agrupar las ubicaciones de recepción en un host de “recepción”, los puertos de envío en un host de “envío” y las orquestaciones en un host de “procesamiento”.
Después de crear un host (un contenedor lógico), puede configurar instancias del host para que se ejecuten en equipos físicos BizTalk Server del grupo BizTalk Server. Una instancia de host se ejecuta como un servicio de Windows en los equipos BizTalk Server designados. Aunque no es posible ejecutar varias instancias del mismo host en un equipo de BizTalk Server determinado, puede ejecutar varias instancias de un host determinado configurando instancias del host en equipos BizTalk Server independientes de un grupo de BizTalk Server. También puede ejecutar varias instancias de diferentes hosts en un solo equipo BizTalk Server.
Los elementos que contienen los hosts de BizTalk pueden realizar las siguientes funciones:
Recibir Estos elementos realizan el procesamiento inicial de los mensajes después de que se recojan en una ubicación de recepción. Cuando un host contiene un elemento de recepción, como una canalización o una ubicación de recepción, actúa como un límite de seguridad y la descodificación y descifrado de mensajes tiene lugar en una canalización del host.
Enviar Estos elementos realizan el procesamiento final de los mensajes antes de enviarlos al puerto de envío. Cuando un host contiene un elemento de envío, como un puerto de envío o una canalización, el host actúa como un límite de seguridad, y la firma y cifrado de mensajes tiene lugar en una canalización del host.
Tratamiento Estos elementos procesan mensajes en función de las instrucciones de una orquestación.
Aunque un único host de BizTalk puede contener elementos que reciban, envíen y procesen mensajes, se considera una práctica recomendable crear diferentes hosts para cada función para generar límites de seguridad y para facilitar la administración y la escalabilidad. En concreto, se recomienda utilizar hosts diferentes para operaciones de procesamiento y recepción y envío, así como separar los elementos de confianza de los no confiables.
Por ejemplo, si recibe un mensaje, ejecuta una orquestación y envía diez mensajes, deseará separar la funcionalidad de recepción y de envío en dos hosts diferentes porque los elementos de envío tendrán diez veces más tráfico que los elementos de recepción. Si recibe un mensaje, ejecuta una orquestación y envía un mensaje, puede pensar en estos elementos como una unidad de trabajo y agruparlos en un solo host. Como alternativa, puede separarlos en tres hosts diferentes para aumentar el rendimiento y la flexibilidad.
Los hosts de BizTalk son uno de los dos tipos, En proceso o Aislado. Los hosts en proceso se ejecutan dentro del proceso en tiempo de ejecución de BizTalk Server, mientras que los hosts aislados no se ejecutan en el proceso en tiempo de ejecución de BizTalk Server. La tabla siguiente enumera los elementos que puede contener cada uno de estos tipos de host.
Tipo de host | Contenedor lógico para |
---|---|
In-Process | -Orquestaciones - Controladores de envío de adaptadores - Controladores de recepción de adaptadores distintos de HTTP y SOAP |
Aislado | Controladores de recepción HTTP y SOAP |
Para obtener más información sobre los hosts y las instancias de host, vea Administración de hosts y instancias de host de BizTalk.
Para proporcionar alta disponibilidad para los hosts de BizTalk, debe tener dos o más instancias de host para cada host del entorno (en dos o más equipos BizTalk Server). Al tener más de una instancia de cada host, garantiza que, si deja de estar disponible una instancia de host, los otros equipos que ejecutan instancias del mismo host pueden reanudar las funciones de la instancia de host problemática y el sistema global puede continuar funcionando con una interrupción mínima.
Persistencia de mensajes
BizTalk Server se basa en gran medida en SQL Server para alta disponibilidad, ya que cada host implicado en BizTalk Server conserva los mensajes en la base de datos de Cuadro de mensajes de BizTalk. Por ejemplo, cuando BizTalk Server recibe un mensaje entrante, el host de recepción lo conserva en la base de datos cuadro de mensajes antes de que otros hosts recuperen el mensaje para el procesamiento y el envío de orquestaciones.
Si su implementación de BizTalk Server implica orquestación, BizTalk Server enruta el mensaje hacia el host que ejecuta el proceso empresarial (host de procesamiento) y guarda el mensaje en la base de datos de cuadros de mensajes cuando finaliza la orquestación. El host de envío recupera entonces el mensaje de la base de datos de cuadro de mensajes antes de enviarlo a la aplicación externa a través del adaptador de envío correspondiente.
Separar las funciones de host y base de datos
Dado que BizTalk Server separa los datos de los hosts que procesan los datos, un paso que puede realizar para crear un entorno de alta disponibilidad es separar las funciones host (envío, recepción y procesamiento) que se producen en BizTalk Server de las funciones de base de datos que se producen en SQL Server. Mediante la separación de estas funciones, puede escalar independientemente los hosts de procesamiento, envío y recepción y las bases de datos que almacenan los datos. Los niveles de tiempo de ejecución y base de datos están relacionados, es decir, si aumenta el número de equipos de BizTalk Server, es probable que tenga que aumentar el número de equipos que ejecutan SQL Server para controlar la carga adicional. Sin embargo, no hay una relación directa entre la capa de base de datos y la capa de BizTalk. Son dos capas independientes y puede escalarlas por separado.
Lo que debe hacer para que los hosts tengan una alta disponibilidad es diferente de lo que debe hacer para que las bases de datos tengan una alta disponibilidad. Las secciones siguientes explican lo que debe hacer para lograr una alta disponibilidad en los hosts de recepción, envío y procesamiento. Para obtener más información sobre cómo hacer que la capa de base de datos sea de alta disponibilidad, consulte Proporcionar alta disponibilidad para BizTalk Server bases de datos.
Para implementaciones donde hay más procesos de BizTalk Server que de SQL Server, puede configurar varios equipos con BizTalk Server que utilicen el mismo equipo que ejecuta SQL Server. Esta configuración utiliza los recursos disponibles en cada equipo. Por ejemplo, si se hace un gran uso (más del 75%) de la CPU o de la memoria en el equipo con BizTalk Server, pero el uso es bajo (menos del 25%) en el equipo que ejecuta SQL Server, puede incluir equipos con BizTalk Server adicionales para distribuir la carga de trabajo a la vez que aumenta el uso de recursos en el equipo que ejecuta SQL Server.
En esta sección
Consulte también
Proporcionar una alta disponibilidad a las bases de datos de BizTalk Server
Alta disponibilidad de Enterprise Single Sign-On