Esta configuración es una variación de la implementación en un solo equipo de alta disponibilidad (activo-pasivo), donde el balanceador de carga está configurado para repartir la carga en todos los sitios en todo momento. En esta configuración, no hay sitios en espera.
En esta arquitectura, se configuran dos o más sitios detrás de un equilibrador de carga de terceros para incrementar la capacidad de la implementación de ArcGIS Server. Puede utilizar esta técnica para ajustar algunas de las limitaciones de alta disponibilidad descritas en la implementación en un solo equipo y en los escenarios de implementación en un solo equipo con un servidor proxy inverso o ampliar agregando más equipos.
Aunque se puede ampliar y conseguir una alta disponibilidad utilizando sitios con varios equipos, hay desventajas y limitaciones en las implementaciones activo-activo que se abordan en este tema.
En un nivel alto, la idea que subyace a la arquitectura activo-activo en un solo equipo es clonar un sitio en un solo equipo y colocar instancias independientes del mismo detrás de un balanceador de carga. Técnicamente, esta configuración no se puede describir como un sitio de varios equipos, ya que cada uno de los sitios es independiente del otro, está compuesto por un solo equipo de ArcGIS Server y tiene su almacén de configuración local y sus directorios de servidor propios.
Las implementaciones de un sitio de ArcGIS Server en varios equipos simplifica enormemente la administración del servidor. Sin embargo, la arquitectura activo-activo puede utilizarse en escenarios donde el número de ajustes de servicios está bien definido, se mantiene estático y puede ofrecer importantes ventajas de rendimiento con respecto a los sitios en varios equipos, especialmente en los servicios de mapas almacenados en caché.
Equipos de ArcGIS Server, directorios de servidor y almacén de configuración
Cada equipo de ArcGIS Server debe tener su propio almacén de configuraciones local y directorios de caché, de trabajos y de sistema. De este modo se garantiza el máximo rendimiento y se mantienen las interdependencias en el mínimo. Por el contrario, el directorio (o directorios) de salida debe compartirse entre los sitios. Para obtener más información, consulte Otras consideraciones a continuación.
Datos
Aplique aquí las mismas consideraciones que se han descrito en la implementación en un solo equipo de alta disponibilidad (activo-pasivo).
Servidor proxy inverso
En esta configuración, se requiere un balanceador de carga de terceros. Como mínimo, este componente se utiliza para distribuir la carga entre todos los sitios. Los balanceadores de carga tienen distintas configuraciones para distribuir la carga, como la operación por turnos y las conexiones mínimas. La selección de la distribución de carga adecuada depende de los servicios alojados y de sus patrones de uso. Los balanceadores de carga también aprovechan normalmente distintas opciones para manejar los fallos. Por ejemplo, puede aplicar reglas en el equilibrador de carga para evitar que reenvíe las solicitudes a un equipo que no está disponible debido a un fallo de hardware o de red o a un determinado servicio de ArcGIS Server que no está disponible. Si utiliza sitios en un solo equipo como se propone en este patrón, se garantiza que las solicitudes enviadas a un equipo concreto las manejará ese equipo.
Normalmente, el propio balanceador de carga también cumple el papel del servidor proxy inverso descrito en Implementación en un solo equipo con un servidor proxy inverso. En algunos escenarios, puede que ya tenga configurado un servidor proxy inverso aparte del balanceador de carga.
Si su equilibrador de carga de red admite una función de verificación de estado, puede utilizar el extremo de verificación de estado de ArcGIS Server para determinar si el sitio está disponible para recibir solicitudes. Esto resulta útil para determinar rápidamente si hay un fallo de software o hardware en el sitio. Para obtener más información, consulte Verificación de estado en la API REST de ArcGIS.
El uso de ArcGIS Web Adaptor es opcional y normalmente solo es necesario en este escenario si desea aprovechar la autenticación de nivel web. Puede optar por configurarlo en el mismo equipo que ArcGIS Server o puede configurarlo en un equipo dedicado. En cualquier caso, si utiliza ArcGIS Web Adaptor, debe configurar un ArcGIS Web Adaptor independiente para cada sitio.
Otras consideraciones
Mantener los servicios de los sitios en sincronía
A diferencia de un verdadero sitio en varios equipos, esta configuración requiere que todos los sitios detrás del balanceador de carga alojen exactamente el mismo contenido y sigan el mismo modelo de seguridad. Es responsabilidad suya asegurarse de que todos los sitios parecen exactamente el mismo para el balanceador de carga.
Hay varias técnicas que pueden ayudarle a mantener los servicios de ArcGIS Server sincronizados entre los sitios principales y los de conmutación por error:
- Secuencia de comandos: ArcGIS Server incluye una API RESTful administrativa que puede utilizar para programar tareas administrativas como, por ejemplo, publicar servicios y cambiar su configuración de seguridad. Puede crear sus propias secuencias de comandos para aplicar cambios a todos los equipos de ArcGIS Server incluidos en su implementación de modo coherente. La secuencia de comando es especialmente útil cuando es necesario hacer pequeños ajustes, como cambiar la seguridad de un servicio o sobrescribirlo. Para obtener más información, consulte Administración de ArcGIS Server mediante secuencias de comandos.
- Virtualización: si opera en un entorno virtual, puede crear plantillas de equipo virtual y utilizarlas para lanzar sitios nuevos. Cada plantilla tendrá una copia de los datos necesarios para los servicios SIG (a menos que se utilice una base de datos). La plantilla también debe tener todos los servicios publicados y configurados. Si es necesario hacer cambios como, por ejemplo, agregar o actualizar servicios existentes, se puede crear una nueva plantilla para lanzar posteriormente nuevos equipos virtuales que sustituirían el grupo de equipos de ArcGIS Server existente que utiliza el equilibrador de carga. Las plantillas de equipos virtuales también se pueden utilizar para recuperar rápidamente equipos de ArcGIS Server obsoletos.
El procedimiento recomendado para aplicar cambios a los sitios en este patrón de implementación es el siguiente:
- Los cambios administrativos se hacen primero en un sitio que está en modo de espera. Por ejemplo, debe añadir un nuevo servicio y cambiar la seguridad de otro en un sitio que no esté manejando solicitudes activamente. Con ello se garantiza que no se verán afectadas en absoluto las aplicaciones que utilizan el sitio principal.
- Configure manualmente el balanceador de carga para pasar todas las solicitudes al sitio en espera en el que se han realizado los cambios.
- Aplique los mismos cambios al sitio inactivo.
- Revierta el balanceador de carga de modo que las solicitudes vuelvan a dirigirse al sitio principal original y deje el sitio en espera en modo de espera.
Los cambios del sitio que se han descrito en el procedimiento anterior pueden aplicarse manualmente mediante ArcGIS Server Manager, secuencias de comandos o imágenes virtuales.
Compartir el directorio de salida
Algunas operaciones de servicios de ArcGIS Server utilizan como referencia los recursos de uno o varios directorios de salida. Por ejemplo, los servicios de mapas pueden escribir imágenes en un directorio de salida y utilizarlas como referencia a través de una dirección URL en la respuesta a la solicitud. Para que los clientes obtengan correctamente la imagen, todos los sitios de su configuración activo-activo deben utilizar como referencia el mismo directorio de salida. Esto se consigue colocando los directorios de salida en un recurso de red y compartiéndolos con los sitios.
A continuación se proporciona una lista de las operaciones de servicios que utilizan los directorios de salida:
- Crear una réplica del servicio de entidades (servicio de entidades)
- Descargar una imagen ráster (servicio de imágenes)
- Exportar una imagen de mapa (servicio de mapas)
- Exportar un diagrama esquemático (recursos esquemáticos en un servicio de mapas)
- Exportar un mapa web (servicio de geoprocesamiento)
Ejecución asíncrona de los servicios de geoprocesamiento
Los servicios de geoprocesamiento de ArcGIS Server admiten dos modos de ejecución: síncrona y asíncrona. La ejecución síncrona sigue un patrón de solicitud-respuesta sin estado y es totalmente compatible con una configuración activo-activo. La ejecución asíncrona sigue un patrón de solicitud-respuesta con estado y es la opción predeterminada. Para utilizar una ejecución asíncrona en una configuración activo-activo, debe tener en cuenta lo siguiente:
- Al enviar un trabajo de geoprocesamiento asíncrono, se le devuelve un Id. de trabajo que utiliza como referencia el trabajo enviado y sus resultados. Solo el sitio de ArcGIS Server que recibe la solicitud original puede reconocer este Id. Por este motivo, la configuración activo-activo le exige definir la afinidad del equilibrador de carga (también conocido como sesiones permanentes) si va a utilizar la ejecución asíncrona. Esto le ayudará a proporcionar una disponibilidad alta para las salidas de servicio de mapas y el geoprocesamiento asíncrono. Consulte la información del proveedor del equilibrador de carga para conocer las consecuencias de habilitar sesiones permanentes.
- Si su servicio de geoprocesamiento no utiliza servicios de mapas para generar salidas y no se han definido salidas del tipo "Archivo", puede seleccionar la ejecución síncrona para sus servicios de geoprocesamiento. No se necesitan sesiones permanentes en el equilibrador de carga.
Utilizar la seguridad basada en token
Si se utiliza la autenticación basada en token, también denominada autenticación de nivel de SIG, es importante que todos los sitios de esta configuración utilicen exactamente la misma clave de token compartida. De lo contrario, los token generados para un equipo no son válidos cuando se utilizan en otro equipo. Para obtener información sobre cómo duplicar las claves de token compartidas en varios sitios, consulte Acerca de los tokens de ArcGIS y Editar la configuración de token en el Administrador.
Ventajas
- Conceptualmente sencillo. Las interdependencias mínimas entre los equipos de ArcGIS Server hacen que sea fácil sustituir equipos defectuosos u obsoletos, aplicar actualizaciones o agregar y quitar equipos del grupo de ArcGIS Server según sea necesario sin interrumpir los servicios ni anular solicitudes.
- Si las teselas de mapa están almacenadas localmente en cada equipo, esta configuración ofrece importantes ventajas de rendimiento en comparación con los sitios en varios equipos. De hecho, esta configuración es ideal si su objetivo es incrementar la capacidad de servicios de mapas almacenados en caché.
Desventajas
- Es responsabilidad suya mantener todos los sitios en sincronía. Esto añade una carga administrativa que puede hacer que este patrón de implementación no sea práctico en los casos en los que hay muchos equipos o servicios/cachés que cambian frecuentemente.
- Requiere conocimiento de los balanceadores de carga de terceros.