Compartir a través de


Proporcionar alta disponibilidad para 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 dentro de un grupo de BizTalk Server que puede hospedar elementos de BizTalk Server, como controladores de adaptadores, ubicaciones de recepción (incluidas canalizaciones) y orquestaciones. Normalmente, agrupa elementos que tienen requisitos de escalado similares en un host determinado. Por ejemplo, agruparía ubicaciones de recepción en un host de "recepción", puertos de envío en un host de "envío" y 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 de BizTalk Server en el grupo de BizTalk Server. Una instancia de host se ejecuta como un servicio de Windows en los equipos de BizTalk Server designados. Aunque no es posible ejecutar varias instancias del mismo host en un equipo determinado de BizTalk Server, puede ejecutar varias instancias de un host determinado configurando instancias del host en equipos de BizTalk Server independientes en un grupo de BizTalk Server. También puede ejecutar varias instancias de distintos hosts en un único servidor BizTalk.

Los elementos contenidos en hosts de BizTalk pueden realizar las siguientes funciones:

  • Recepción Estos elementos realizan el procesamiento inicial de los mensajes después de que se recogen en una ubicación de recepción. Cuando un host contiene un elemento receptor, como una ubicación de recepción o una canalización, actúa como límite de seguridad y la descodificación y descifrado de mensajes se produce en una canalización dentro del host.

  • Envío 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 límite de seguridad y la firma de mensajes y el cifrado se producen en una canalización dentro del host.

  • Procesamiento Estos elementos procesan mensajes según las instrucciones de una orquestación.

    Aunque un único host de BizTalk puede contener elementos que reciben, envían y procesan mensajes, se considera un procedimiento recomendado crear diferentes hosts para cada función para crear límites de seguridad y para facilitar la administración y escalabilidad. En particular, se recomienda utilizar diferentes hosts para procesar y para operaciones de recepción y envío, y que separe elementos de confianza y aquellos que no lo son.

    Por ejemplo, si recibe un mensaje, ejecuta una orquestación y envía diez mensajes, quiere separar la funcionalidad de recepción y envío en dos hosts independientes porque los elementos de envío tendrán diez veces más tráfico que los elementos de recepción. Si recibe un mensaje, ejecute una orquestación y envíe un mensaje, puede considerar estos elementos como una unidad de trabajo y agruparlos en un único 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. En la tabla siguiente se enumeran 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 datos por adaptador
- Administradores 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 de BizTalk Server). Al tener más de una instancia de host para cada host, asegúrese de que si una instancia de host deja de estar disponible, los demás equipos que ejecutan instancias de ese host pueden reanudar las funciones de la instancia de host problemática o con errores, y que el sistema general puede seguir realizando con una interrupción mínima.

Persistencia de mensajes

BizTalk Server se basa en gran medida en SQL Server para lograr una alta disponibilidad, ya que cada host implicado en BizTalk Server conserva los mensajes en la base de datos 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 de orquestación y el envío.

Si la solución de BizTalk Server implica orquestación, BizTalk Server enruta el mensaje al host que ejecuta el proceso de negocio (host de procesamiento) y guarda el mensaje en la base de datos cuadro de mensajes una vez finalizada la orquestación. A continuación, el host de envío recupera el mensaje de la base de datos messageBox antes de enviarlo a la aplicación externa a través del adaptador de envío adecuado.

Separación del host y las funciones de 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 desde las funciones de base de datos que se producen en SQL Server. Al separar estas funciones, puede escalar de forma independiente el procesamiento, el envío y la recepción de servidores, así como las bases de datos que almacenan los datos. Los niveles de tiempo de ejecución y de 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 ninguna relación directa entre la capa de base de datos y la capa de BizTalk. Se trata de dos capas independientes que pueden escalarse horizontalmente por separado.

Lo que debe hacer para que los hosts tengan alta disponibilidad es diferente de lo que debe hacer para que las bases de datos tengan alta disponibilidad. En las siguientes secciones se explica lo que debe hacer para que los hosts de recepción, envío y procesamiento tengan alta disponibilidad. Para obtener más información sobre cómo hacer que la capa de base de datos sea de alta disponibilidad, vea Proporcionar alta disponibilidad para bases de datos de BizTalk Server.

En el caso de las implementaciones en las que BizTalk Server procesa más que los procesos de SQL Server, puede configurar varios equipos de BizTalk Server que usen el mismo equipo que ejecuta SQL Server. Esta configuración usa los recursos disponibles en cada equipo. Por ejemplo, si el uso de CPU o memoria es alto (más del 75 por ciento) en el equipo de BizTalk Server, pero se ejecuta bajo (menos del 25 por ciento) en el equipo que ejecuta SQL Server, puede incluir equipos adicionales de BizTalk Server para distribuir la carga de trabajo al aumentar el uso de recursos en el equipo que ejecuta SQL Server.

En esta sección

Véase también

Proporcionar alta disponibilidad para bases de datos de BizTalk Server
Alta disponibilidad para Enterprise Single Sign-On