Bases de datos escaladas
Para proporcionar alta disponibilidad para las bases de datos de BizTalk Server, configure dos equipos que ejecutan SQL Server en un clúster de Windows. Estos equipos pueden ejecutarse en una configuración activo/activo o activo/pasivo para obtener redundancia y almacenar los datos en una unidad compartida (como una matriz de discos SCSI RAID 1+0) o una red de área de almacenamiento (SAN).
Si el servicio SQL Server deja de estar disponible por alguna razón, el clúster de base de datos transfiere los recursos del equipo activo al equipo pasivo. Durante este proceso de conmutación por error, las instancias del servicio BizTalk Server experimentan errores de conexión y se reinician automáticamente para conectarse de nuevo a las bases de datos. El equipo de base de datos en funcionamiento (antes el equipo pasivo) comienza a procesar las conexiones de base de datos después de asumir los recursos durante la conmutación por error.
Para mejorar la escalabilidad de las bases de datos de BizTalk Server, puede configurar BizTalk Server para almacenar datos en varias bases de datos de cuadro de mensajes. Cree la primera base de datos cuando ejecute el Asistente para configuración. Esta base de datos es la base de datos de cuadro de mensajes principal. En una implementación de BizTalk Server, hay solo una base de datos de cuadro de mensajes principal. Esta base de datos contiene la información de suscripción principal y enruta los mensajes hacia la base de datos de cuadro de mensajes correspondiente. Normalmente, quiere dedicar el cuadro de mensajes maestro para realizar el enrutamiento solo (seleccione Deshabilitar nueva publicación de mensajes) y deje que las demás bases de datos de Cuadro de mensajes realicen el procesamiento.
Cuando la base de datos maestra messageBox recibe un nuevo mensaje de activación (una nueva instancia de un proceso empresarial o un mensaje de suscripción), la base de datos maestra messageBox distribuye el mensaje de activación a la siguiente base de datos de cuadro de mensajes disponible. Por ejemplo, si tiene una base de datos de cuadro de mensajes principal y dos bases de datos de cuadro de mensajes, la base de datos de cuadro de mensajes principal enruta el primer mensaje de activación hacia la base de datos de cuadro de mensajes 1, el segundo mensaje de activación hacia la base de datos de cuadro de mensajes 2, el tercer mensaje de activación hacia la base de datos de cuadro de mensajes 1, y así sucesivamente en un modelo de operación por turnos. La base de datos de cuadro de mensajes principal utiliza lógica integrada para el equilibrio de carga y no necesita mecanismos de equilibrio de carga adicionales.
Una vez que la base de datos de cuadro de mensajes principal enruta el mensaje de activación hacia una base de datos de cuadro de mensajes concreta (por ejemplo, la base de datos 1), el proceso empresarial pasa a la memoria y se ejecuta. Si el proceso de negocio tiene que esperar un mensaje y el tiempo de espera es superior a varios segundos, el proceso de negocio se conserva de nuevo en la base de datos de cuadro de mensajes 1. El proceso de negocio está esperando un mensaje de correlación. Cuando el mensaje de correlación llega a la base de datos de cuadro de mensajes principal, el mensaje busca en esta base de datos la base de datos de cuadro de mensajes que contiene el estado del mensaje de correlación (en este ejemplo, el cuadro de mensajes 1). La base de datos de cuadro de mensajes principal entrega después el mensaje a la base de datos de cuadro de mensajes que contiene el proceso empresarial. El proceso empresarial se devuelve entonces a la memoria para continuar el procesamiento hasta que finaliza o hasta que tiene que esperar otro mensaje de correlación.
BizTalk Server almacena todos los estados en las bases de datos de cuadro de mensajes y cada una de estas bases de datos contiene información de estado de los diferentes procesos empresariales. Para mayor confiabilidad, debe agrupar todas las bases de datos de cuadro de mensajes, incluidas las bases de datos de cuadro de mensajes principal y secundarias.
Para configurar múltiples bases de datos de cuadro de mensajes, usa la consola de administración de BizTalk para agregar los equipos que ejecutan SQL Server. Desde la perspectiva de administración, solo tiene que agregar nuevas bases de datos de cuadro de mensaje. BizTalk Server controla automáticamente la distribución por turnos de los mensajes de activación y envía mensajes de correlación a las bases de datos de cuadro de mensajes correctas.
Si configura varias bases de datos de cuadro de mensajes en el entorno, debe crear un mínimo de tres bases de datos para el grupo de BizTalk Server y deshabilitar la publicación de mensajes en el cuadro de mensajes principal. Esta recomendación se debe a que la integración de bases de datos de cuadro de mensajes adicionales supone una sobrecarga de la base de datos de cuadro de mensajes principal al tener que enrutar los mensajes entre las bases de datos de cuadro de mensajes. Si solo configura dos bases de datos de cuadro de mensajes, la mayor parte del beneficio que supone la adición de la base de datos de cuadro de mensajes adicional se ve contrarrestada por la sobrecarga consumida por el cuadro de mensajes principal para el enrutamiento de mensajes.
Al agregar bases de datos MessageBox a la implementación de BizTalk Server mejora la escalabilidad, no proporciona alta disponibilidad porque cada base de datos de Cuadro de mensajes es única e independiente y es posiblemente un único punto de error para el entorno de BizTalk Server. Para agregar redundancia, se debe configurar un clúster de servidores para cada base de datos de cuadro de mensajes. BizTalk Server distribuye los datos entre varias bases de datos de cuadro de mensajes; por tanto, las bases de datos no comparten los datos ni proporcionan redundancia de ningún otro modo sin un clúster de servidores.
En función de los requisitos particulares de la implementación, es posible que desee mejorar el rendimiento de las operaciones de seguimiento aislando la base de datos de seguimiento de BizTalk en un equipo diferente con SQL Server y creando un host de BizTalk aparte para alojar las operaciones de seguimiento. Si la implementación tiene un alto rendimiento e implica el seguimiento de gran cantidad de datos para estos mensajes, la sobrecarga por operaciones de seguimiento podría consumir gran cantidad de recursos en el equipo que ejecuta SQL Server. Si se produce esta situación y continúa una alta tasa de mensajes entrantes, BizTalk Server llega a un punto en el que no puede procesar nuevos mensajes porque los recursos necesarios para realizar un seguimiento de los mensajes son mayores que los recursos necesarios para ejecutar los demás componentes de BizTalk Server (como recibir mensajes y conservarlos en la base de datos messageBox).
Para mejorar el rendimiento y la seguridad, se recomienda dedicar un host a las operaciones de seguimiento que no contenga otros elementos (como ubicaciones de recepción, orquestaciones o canalizaciones) y deshabilitar el seguimiento en los hosts de recepción, procesamiento y envío. Para proporcionar alta disponibilidad al host de seguimiento, cree más de una instancia de este host.
Para cada base de datos de cuadro de mensajes, BizTalk Server usa solo una instancia de host de seguimiento para mover mensajes de la base de datos de cuadro de mensajes a la base de datos de seguimiento de BizTalk (BizTalkDTADb). Si otros equipos ejecutan instancias del host de seguimiento, BizTalk Server escala automáticamente el control de cada base de datos de cuadro de mensajes a una instancia diferente del host de seguimiento. Si el número de bases de datos de cuadro de mensajes es mayor que el número de instancias del host de seguimiento, una o varias instancias del host de seguimiento recibirán más de una base de datos de cuadro de mensajes.
Para proporcionar alta disponibilidad a la base de datos de seguimiento de BizTalk, utilice la Organización por clústeres de Windows para configurar dos equipos de base de datos que ejecuten SQL Server en una configuración activa/pasiva.
Supervisión de la actividad económica (BAM) proporciona visibilidad a los procesos empresariales independiente de la implementación de TI o en una implementación de TI heterogénea. Las bases de datos de BAM de SQL Server (base de datos de esquema de estrella de BAM , base de datos de importación principal de BAM y base de datos de archivo de BAM) y la base de datos de análisis de BAM almacenan los datos de actividad empresarial que no son los de supervisión del funcionamiento. Para garantizar que la infraestructura de BAM tiene una alta disponibilidad, realice lo siguiente:
Agrupe la base de datos de importación principal de BAM y la base de datos de análisis de BAM. La base de datos de importación principal de BAM es el centro del sistema de Supervisión de la actividad económica. Por tanto, es importante aportar a esta base de datos una alta disponibilidad utilizando Organización por clústeres de Windows y seguir las dos recomendaciones siguientes para evitar que se llene esta base de datos. La base de datos de análisis de BAM es una base de datos de Analysis Services que almacena los datos que utilizan los analistas empresariales para crear agregaciones de actividad y cubos OLAP y, por tanto, cualquier tiempo de inactividad de esta base de datos afecta a la productividad. Si bien no es necesario que agrupe la base de datos de archivo de BAM, se recomienda supervisar el registro de eventos para ver si hay errores cuando se ejecutan paquetes de los Servicios de transformación de datos (DTS) para garantizar que los datos se transfieren correctamente, así como supervisar el tamaño de la base de datos para poder reemplazarla antes de que se llene.
Defina una ventana en línea. Para obtener un mayor rendimiento y evitar tiempo de inactividad, BAM realiza particiones de los datos de la base de datos de importación principal de BAM en tablas basadas en la marca de hora en que finalizó la actividad. BAM consigue esto intercambiando con regularidad la tabla llena con otra tabla vacía de idéntico formato. Una vez que BAM hace esto, las demás actividades finalizadas pasan a la nueva partición (tabla), mientras que BAM mantiene las particiones antiguas durante el tiempo definido en la ventana en línea. Debe definir una ventana en línea para garantizar que el número de particiones de la base de datos de importación principal de BAM no llegue a ser muy alto. Para obtener más información sobre cómo programar ventanas en línea, vea "Archivar datos de base de datos de importación principal" en BizTalk Server Ayuda.
Programar paquetes DTS para que se ejecuten periódicamente. A la hora de definir una ventana en línea, asegúrese de que no se llena la base de datos de importación principal de BAM con particiones de actividad antiguas. Debe programar también paquetes DTS para que se ejecuten periódicamente, con el fin de crear una partición nueva para los datos de actividad y mover los datos de particiones antiguas de la base de datos de importación principal de BAM a la base de datos de archivo de BAM. Para obtener más información sobre la programación de paquetes DTS, vea "Programación de paquetes DTS" en BizTalk Server Ayuda.
Elija con cuidado conjuntos de datos pequeños (puntos de control) y evite incluir datos innecesarios a la hora de definir una actividad.
Observe el equilibrio entre agregaciones programadas y en tiempo real cuando diseñe agregaciones. Las agregaciones en tiempo real se mantienen automáticamente con desencadenadores de SQL Server y tienen latencia cero. Es ideal para algunos escenarios cruciales de baja latencia, pero implica una reducción del rendimiento cuando se escriben los eventos en la base de datos de importación principal de BAM. Las agregaciones programadas se basan en paquetes DTS de elaboración de cubos programados para actualizar los datos de agregación. Su latencia es igual o mayor que el intervalo de programación de DTS, pero sobre todo tienen un impacto menor en el rendimiento de la base de datos de importación principal de BAM.
Si elige agregaciones programadas, asegúrese de programar los DTS de elaboración de cubos para que se ejecuten con más frecuencia que los DTS de archivo. La razón es que los DTS de archivo no moverán los datos de actividad que se han procesado para una agregación programada a la base de datos de archivo de BAM.
Habilite el servicio Bus de eventos de BAM en varios equipos para obtener funcionalidad de conmutación por error.
Para proporcionar alta disponibilidad para las otras bases de datos de BizTalk Server, configure dos equipos que ejecutan SQL Server en un clúster de Windows. Estos equipos pueden ejecutarse en una configuración activo/activo o activo/pasivo para obtener redundancia y almacenar los datos en una unidad compartida (como una matriz de discos SCSI RAID 1+0) o una red de área de almacenamiento (SAN).
Proporcionar alta disponibilidad a hosts de BizTalk
Proporcionar una alta disponibilidad a las bases de datos de BizTalk Server
Escenarios de ejemplo de alta disponibilidad de BizTalk Server