Última versión: 2.0.2-1

|
Vista rápida |
|
|
Catálogo |
Sistema |
|
Categoría |
Conmutadores |
|
Volúmenes de usuario |
no |
|
Memoria mín. |
96 MB |
|
SO |
Linux |
|
Restricciones |
no |
|
Preguntas o comentarios |
|
URLSW es un conmutador que distribuye solicitudes HTTP a distintas salidas según las coincidencias encontradas entre la URI de la solicitud o los encabezados de la solicitud con las reglas, definidas como expresiones regulares, en el límite de dispositivo. Se utiliza URLSW en las aplicaciones que tienen más de un dispositivo de servidor de aplicación o Web para distribuir flexiblemente solicitudes HTTP entre ellas. URLSW funciona de forma similar a su homólogo PS8, pero en un nivel superior: analiza las solicitudes HTTP en lugar de los puertos tcp/udp.
URLSW también tiene un controlador de estado incorporado. El controlador de estado sondea periódicamente los terminales out conectados y determina si los servidores están preparados para procesar las solicitudes. Si cualquiera de los servidores comprobados pasa a estar no operacional, URLSW desactiva automáticamente el flujo de solicitudes para este servidor, con lo que las solicitudes se redirigen al servidor activo más apropiado volviendo a dirigir solicitud a otro servidor en directo más apropiado. Si un servidor que previamente ha estado no operacional se activa, el controlador de estado lo detectará automáticamente y seguirá recibiendo solicitudes.
El conmutador está en cascada. El tráfico entrante que no coincide con ninguna de las expresiones regulares definidas se reenvía a través del terminal aux sin ninguna modificación. Todo el tráfico de entrada recibido en los terminales outX y aux se reenvía de vuelta por el terminal in.
URLSW se utiliza normalmente para enrutar tráfico entrante a distintos dispositivos dentro de una aplicación.
|
Recurso |
Mínimo |
Máximo |
Predeterminado |
Probado |
|
CPU |
0.1 |
2 |
0.1 |
2 |
|
Memoria |
96 MB |
160 MB |
96 MB |
128 MB |
|
Ancho de banda |
1 Mbps |
2 Gbps |
250 Mbps |
1800 Mbps |
|
Nombre |
Dir. |
Prot. |
Descripción |
|
in |
in |
HTTP |
Entrada común. Tráfico enviado a in se dirige a una de las salidas, en función de si coinciden con la URL o con los encabezados de las expresiones regulares definidas. |
|
ctl |
in |
HTTP |
Terminal de control usado para establecer las expresiones regulares, activando/desactivando los resultados y recuperando el estado y los valores de configuración del terminal de salida. |
|
out1-out8 |
Saliente |
HTTP |
Salidas configuradas. Las solicitudes se envían a través de una salida particular según las propiedades outX_type y outX_value. Todas estas salidas, o cualquiera de ellas, se pueden dejar desconectadas; las solicitudes que se dirigen a salidas desconectadas se descartan. |
|
aux |
Saliente |
HTTP |
Salida en cascada. Las solicitudes entrantes que no están dirigidas a ninguna de las salidas out1-out8 se envían por este terminal. Este terminal se puede dejar desconectado. |
|
log |
Saliente |
Cualquiera |
Acceso a un sistema de archivos de red basado en CIFS para almacenar registros (es decir, para depuración). El servidor conectado debe permitir inicios de sesión anónimos y debe tener un recurso compartido de lectura/escritura denominado "share". Este terminal se puede dejar desconectado si no se está usando. |
|
mon |
Saliente |
CCE |
Envía estadísticas sobre uso de recursos y rendimiento. Este terminal se puede dejar desconectado si no se usa. |
|
Nombre |
Tipo |
Descripción |
|
outX_type |
Cadena |
Define los criterios con los que tienen que coincidir las solicitudes entrantes. Existen 4 elecciones para esta propiedad: hostname, cookie, url y file type.
Valor predeterminado: hostname |
|
outX_value |
Cadena |
Expresiones regulares con las cuales se deberán establecer coincidencias. Para obtener una definición de expresión regular, haga clic aquí. Ejemplos:
Valor predeterminado: vacío |
Propiedades de los controles de estado
|
Nombre |
Tipo |
Descripción |
|
healthcheck_url |
Cadena |
URL que se utiliza para ejecutar el control de estado de los servidores Web de back-end en los métodos de control de estado http_get y http_head. Se puede especificar como una URL completa (http://host.name/file/to/check/for.php) o como una ruta relativa (/file/to/check/for.php). Si se especifica como una URL, el control de estado utiliza el protocolo HTTP/1.1 mientras realiza controles de estado mediante el uso del nombre de host extraído de URL en un encabezado Host:. Esto permite el uso de los hosts virtuales. Si se especifica como una ruta relativa, el control de estado utiliza el protocolo HTTP/1.0 y busca el documento especificado por esta propiedad. Si esta propiedad tiene el valor vacío, el control de estado busca la raíz predeterminada "/" utilizando el protocolo HTTP/1.0. |
|
healthcheck_agent |
Cadena |
Cadena que se utiliza como un identificador de agente para los métodos de control de estado http_get y http_head. Si está vacío, se utiliza "URLSW-health-check". |
|
healthcheck_method |
Cadena |
Método utilizado para el control de estado de los servidores Web de back-end.
Valor predeterminado: tcp_connect. |
|
healthcheck_regexp |
Cadena |
Cadena de prueba utilizada con el modo de control de estado http_get. Los valores cortos o comunes (por ejemplo, OK) probablemente generarán falsos positivos. Esta cadena es una expresión normal de Perl. Aquí puede encontrar más detalles sobre las expresiones normales de Perl. |
|
healthcheck_interval |
Entero |
Intervalo entre los controles de estado de los servidores Web de back-end (especificado en segundos). |
Propiedades de tiempo de espera
|
Nombre |
Tipo |
Descripción |
|
keepalive_timeout |
Entero |
Tiempo de espera para mantener activas las conexiones. Establece el tiempo de espera, durante el cual el servidor no cerrará la conexión que se mantiene activa con el cliente. |
|
client_header_timeout |
Entero |
Tiempo de espera para que el cliente envíe el encabezado de la solicitud. Si después de este período de tiempo el cliente no recibe el encabezado completo, se devuelve un error. |
|
client_body_timeout |
Entero |
Tiempo de espera para que el cliente envíe el cuerpo de la solicitud. Este tiempo de espera se establece para que no se transfiera todo el cuerpo de la solicitud, sino solamente entre las dos operaciones de lectura. Si el cliente no transmite datos en este período de tiempo, se devuelve un error. |
|
send_timeout |
Entero |
Tiempo de espera para que el cliente reciba datos. Si el cliente no responde en este intervalo, la conexión se cierra. Este tiempo de espera se establece para que no se transfiera toda la respuesta, sino solamente entre las dos operaciones de escritura. |
|
server_timeout |
Entero |
Tiempo de espera en segundos para establecer una conexión tcp a los servidores de back-end. Incluye el control de estado. |
Propiedades de interfaz de control
|
Nombre |
Tipo |
Descripción |
|
ctl_port |
Entero |
Puerto que se usa para acceder a la interfaz de control de servicios Web a través del terminal ctl. |
Registro de propiedades
|
Nombre |
Tipo |
Descripción |
|
enable_access_log |
Cadena |
Activa o deshabilita el registro de acceso. Valor predeterminado: no |
|
access_log_filename |
Cadena |
Nombre de archivo del registro de acceso. Valor predeterminado: access.log |
El dispositivo URLSW informa sobre los siguientes contadores personalizados a través del terminal "mon".
|
Nombre del contador |
Descripción |
|
Conexiones activas |
Número de conexiones activas |
|
Conexiones aceptadas |
Número de conexiones aceptadas |
|
Conexiones gestionadas |
Número de conexiones gestionadas |
|
Solicitudes gestionadas |
Número de solicitudes gestionadas |
|
Conexiones de lectura activas |
Número de conexiones de lectura activas |
|
Conexiones de escritura activas |
Número de conexiones de escritura activas |
|
Conexiones de espera activas |
Número de conexiones de espera activas |
Tasa de solicitudes
URLSW enruta no menos de 3.000 transacciones (parejas de solicitud/respuesta) por segundo, según el tamaño de los documentos y el ancho de banda de red disponible.
Rendimiento de los datos
URLSW enruta no menos de 25 MBytes/segundo.
Conexiones simultáneas
URLSW admite no menos de 1.000 solicitudes simultáneas. Durante las pruebas, URLSW ha aceptado más de 10.000 trasferencias simultáneas activas.
En caso de error al iniciar el dispositivo, pueden aparecer los errores siguientes en el registro del sistema:
|
Mensaje de error |
Descripción |
|
Error: failed to initialize ctl terminal, please contact CA Technologies support. |
Se produce un error del sistema mientras se inicializa el terminal ctl. Póngase en contacto con el Soporte técnico de CA. |
|
Error: access log is enabled, but log terminal is not connected. |
El terminal de registros no está conectado, pero enable_access_log está establecido como "yes". |
|
Error: failed to initialize external health checker, please contact CA Technologies support. |
Se produce un error del sistema mientras se inicializa el control de estado externo. Póngase en contacto con el Soporte técnico de CA. |
|
Error: failed to initialize statistics reporting, please contact CA Technologies support. |
Se produce un error del sistema mientras se inicializa la generación de informes de estadística. Póngase en contacto con el Soporte técnico de CA. |
Descripción general
Se muestra una interfaz de servicio Web de control en el terminal ctl del puerto configurado ctl_port que permite:
Protocolo
El control programático de los terminales de salida utiliza el método de HTTP GET que proporciona solamente función de lectura. Por ello, todos los tipos de solicitudes de protocolo compatibles se pueden definir mediante su URI y la estructura de salida. Los caracteres que se consideran especiales para el URI se deben escapar mediante la codificación % estándar.
A continuación, se ofrece una descripción de todos los URI compatibles.
Llamadas de control
Se pueden invocar las siguientes llamadas de control:
El siguiente diagrama muestra un uso típico del dispositivo URLSW en una pequeña aplicación con 4 servidores Web y bases de datos.

Dispositivos en uso:
Ejemplo de configuración de las propiedades:
|
Nombre de la propiedad |
Valor |
Notes |
|
out1_type |
hostname |
Las solicitudes de srv1 se ajustan según el nombre de host. |
|
out1_value |
static.server.com, images.server.com |
srv1 sirve las solicitudes de los hosts static.server.com e images.server.com. |
|
out2_type |
tipo de archivo |
Las solicitudes de srv2 coinciden según el tipo de archivo. |
|
out2_value |
|
srv2 sirve los documentos PDF. |
|
out3_type |
tipo de archivo |
Las solicitudes de srv3 coinciden según el tipo de archivo. |
|
out3_value |
*.php |
srv3 sirve scripts PHP. |
srv4 sirve todas las demás solicitudes, pues está conectado al terminal aux.
La solicitud del cliente llega a la puerta de enlace de usuario. La puerta de enlace envía las solicitudes al servidor URLSW, que las distribuye entre los 4 servidores Web en función de las reglas definidas en las propiedades del dispositivo o agregadas dinámicamente por el terminal ctl. Se puede accede al terminal ctl por la puerta de enlace de administrador.
Software de fuente abierta y de terceros utilizado dentro del dispositivo
URLSW utiliza los siguientes paquetes de fuente abierta de terceros, además de los paquetes de fuente abierta de terceros que utiliza su clase base LUX5.
|
Software |
Versión |
Modificado |
Licencia |
Notes |
|
nginx-stable |
0.8.53 |
No |
GPLv2 |
N/A |
|
samba-client |
3.0.28-0.el5.8 |
No |
GPLv2 |
N/A |
|
samba-common |
3.0.28-0.el5.8 |
No |
GPLv2 |
N/A |
|
thttpd |
2.25b |
No |
BSD |
Página principal |
| Copyright © 2012 CA. Todos los derechos reservados. |
|