Ultima versione: 3.0.4-1

|
In breve |
|
|
Catalogo |
Sistema |
|
Categoria |
Switch |
|
Volumi dell'utente |
no |
|
Num. minimo memoria |
96 M |
|
OS |
Linux |
|
Vincoli |
no |
|
Domande/commenti |
|
URLSW è uno switch che distribuisce le richieste HTTP a diversi output al fine di far corrispondere la richiesta URI o richiedere le intestazioni rispetto alle regole, come definite da espressioni regolari, sul limite dell'appliance. URLSW è utilizzato nelle applicazioni che dispongono di più di un'appliance di server applicazioni o Web per distribuire le richieste HTTP in modo flessibile tra loro. URLSW opera in modo analogo alla sua controparte PS8, ma su un livello più alto: analizza le richieste HTTP anziché le porte di tcp/udp.
URLSW ha anche un healtchecker interno. Healthchecker verifica periodicamente i poll connessi ai terminali di out e determina se i server sono pronti a elaborare le richieste. Se uno dei server controllati diventa non funzionale, URLSW disabilita automaticamente il flusso di richieste per quel server e indirizza le richieste a un altro server live più appropriato. Quando il server precedentemente non operativo diventa attivo, viene rilevato automaticamente dall'healthchecker e continuerà a ricevere le richieste.
Lo switch è a cascata; il traffico in entrata che non corrisponde a un'espressione regolare definita è inoltrato mediante il terminale AUX senza alcuna modifica. Tutto il traffico in entrata ricevuto sui terminali outX e AUX è inoltrato indietro al terminale IN.
URLSW è generalmente che viene utilizzato per dirigere il traffico in entrata a appliance differenti in un'applicazione.
|
Risorsa |
Minimo |
Massimo |
Predefinito |
Testato |
|
CPU |
0.1 |
2 |
0.1 |
2 |
|
Memoria |
96 MB |
160 MB |
96 MB |
128 MB |
|
Larghezza di banda |
1 Mbps |
2 Gbps |
250 Mbps |
1800 Mbps |
|
name |
dir |
prot. |
description |
|
in |
in |
HTTP |
Input comune. Il traffico inviato è diretto a uno degli output sulla base dell'accoppiamento dell'URL o delle intestazioni alle espressioni regolari definite. |
|
ctl |
in |
HTTP |
Terminale di controllo che è usato per abilitare/disabilitando gli output e recuperare lo stato del terminale di output dall'utilità di bilanciamento del carico. |
|
out1-out8 |
out |
HTTP |
Output configurati. Le richieste vengono inoltrate mediante un output particolare basato sulle proprietà outX_type e outX_value. È possibile lasciare non connessi uno o tutti di questi output; le richieste destinate agli output non connessi vengono eliminate. |
|
aux |
out |
HTTP |
Output a cascata. Le richieste in entrata che non sono destinate a nessun output out1-out8 sono inviate attraverso questo terminale. Questo terminale può restare non connesso. |
|
log |
out |
Qualsiasi |
Accesso a un file system di rete basato su CIFS per l'archiviazione dei log IIS (per il debug). Il server connesso deve permettere accessi anonimi e avere una condivisione di lettura/scrittura denominata shared. Questo terminale può essere lasciato non connesso se non è utilizzato. |
|
mon |
out |
CCE |
Invia le statistiche sull'utilizzo delle risorse e le prestazioni. Questo terminale può essere lasciato non connesso se non viene utilizzato. |
|
name |
type |
description |
|
outX_type |
stringa |
Definisce i criteri rispetto a cui la richiesta in entrata è fatta corrisponder. Ci sono 4 opzioni per questa proprietà: nome di host, cookie, url e tipo di file.
Predefinito: nome di host |
|
outX_value |
stringa |
Espressioni regolari da far corrispondere. Una definizione di espressione regolare è disponibile qui. Esempi:
Impostazione predefinita: (vuoto) |
Proprietà di healthcheck
|
name |
type |
description |
|
healthcheck_url |
Stringa |
L'URL usato per eseguire l'healthcheck dei server Web di backend nei metodi di healthcheck http_get e http_head dei server Web. Può essere specificato come URL completo (http://host.name/file/to/check/for.php) o come percorso relativo (/file/to/check/for.php). Se specificato come URL, healthcheck usa il protocollo HTTP/1.1 mentre esegue gli healthcheck con il nome di host estratto da URL, nel suo host: intestazione. Questo permette l'utilizzo di host virtuali. Se specificato come percorso relativo, healthcheck usa il protocollo HTTP/1.0 e controlla il documento specificato da questa proprietà. Se questa proprietà è vuota, healthcheck controlla la radice predefinita '/' usando il protocollo di HTTP/1.0. |
|
healthcheck_agent |
Stringa |
La stringa usata come identificatore di agente per i metodi di healthcheck http_get e http_head. Se vuoto, viene usato URLSW-health-check. |
|
healthcheck_method |
Stringa |
Il metodo usato per l'healthcheck dei server Web di backend.
Predefinito: tcp_connect. |
|
healthcheck_regexp |
Stringa |
Una stringa di testo usata con la modalità di healthcheck http_get. I valori abbreviati o comuni (ad esempio: "OK") potrebbero causare false corrispondenze positive. Questa stringa è un'espressione regolare di Perl. Per maggiori dettagli sulle espressioni regolari di Perl, andare qui. |
|
healthcheck_interval |
Int |
Intervallo tra gli healthcheck dei server Web di backend (specificati in secondi). |
Proprietà di timeout
|
name |
type |
description |
|
keepalive_timeout |
Int |
Timeout per le connessioni keepalive di timeout. Imposta il timeout, durante cui la connessione di keepalive con il client non viene chiusa dal server. |
|
client_header_timeout |
Int |
Timeout in cui il client invia un'intestazione di richiesta. Se dopo che questo tempo il client non riceve un'intestazione completa, viene emesso un errore. |
|
client_body_timeout |
Int |
Timeout in cui il client invia un contenuto di richiesta. Questo timeout è impostato per non trasferire il contenuto completo della richiesta, ma soltanto durante due operazioni di lettura. Se il client non trasmette i dati in questo tempo, viene restituito un errore. |
|
send_timeout |
Int |
Timeout del client a ricevere i dati. Se il client non risponde in questo intervallo, la connessione è chiusa. Questo timeout è impostato per non trasferire il contenuto completo della richiesta, ma soltanto durante due operazioni di scrittura. |
|
server_timeout |
Int |
Timeout in secondi per stabilire una connessione TCP ai server di backend. Questo include l'healthcheck. |
Proprietà di interfaccia di controllo
|
name |
type |
description |
|
ctl_port |
Int |
Porta usata per accedere all'interfaccia di controllo del servizio Web mediante il terminale CTL. |
Registrazione delle proprietà
|
name |
type |
description |
|
enable_access_log |
Stringa |
Abilita o disabilita il registro di accesso. Predefinito: no |
|
access_log_filename |
Stringa |
Nome di file per il log di accesso. Predefinito: access.log |
L'appliance di URLSW riporta i seguenti contatori personalizzati dal terminale di MON.
|
Nome di contatore |
Description |
|
Connessioni attive |
Numero di connessioni attive |
|
Connessioni accettate |
Numero di connessioni accettate |
|
Connessioni gestite |
Numero di connessioni gestite |
|
Richieste gestite |
Numero di richieste gestite |
|
Connessioni di lettura attive |
Numero di connessioni di lettura attive |
|
Connessioni di scrittura attive |
Numero di connessioni di scrittura attive |
|
Connessioni di attesa attive |
Numero di connessioni di attesa attive |
Tasso di richiesta
URLSW dirige non meno d 3000 transazioni (coppia richiesta/risposta) al secondo, in base alla dimensione del documento e alla larghezza di banda di rete disponibile.
Velocità effettiva di dati
URLSW dirige non meno d 25 MB/secondo
Connessioni concorrenti
URLSW supporta non meno che 1000 richieste concorrenti. In fase di test, URLSW ha supportato più di 10.000 trasferimenti attivi simultanei.
In caso di errore nell'avvio dell'appliance, è possibile che vengano registrarti i seguenti errori nel log di sistema:
|
Messaggio di errore |
Description |
|
Errore: impossibile inizializzare il terminale di ctl, contattare il Supporto di CA Technologies. |
Si è verificato un errore di sistema durante l'inizializzazione del terminale di ctl. Si prega di contattare il Supporto di CA Technologies. |
|
Errore: il log di accesso è abilitato ma il terminale di log non è connesso. |
il terminale di log non è connesso, ma enable_access_log è impostato su sì. |
|
Errore: impossibile inizializzare healthcheck esterno. Si prega di contattare il Supporto di CA Technologies. |
Si è verificato un errore di sistema durante l'avvio dell'healthcheck esterno. Si prega di contattare il Supporto tecnico di CA Technologies. |
|
Errore: impossibile inizializzare il report delle statistiche, contattare il Supporto di CA Technologies. |
Si è verificato un errore di sistema durante l'inizializzazione del terminale di ctl. Si prega di contattare il Supporto di CA Technologies. |
Panoramica
Un'interfaccia del servizio Web di controllo viene esposta sul terminale CTL sulla porta ctl_port configurata permettendo di:
Protocol
Il controllo Programmatic dei terminali di output usa il metodo GET HTTP che ha una funzionalità di sola lettura. In questo modo, è possibile definire ogni tipo di richiesta di protocollo supportata mediante il rispettivo URI e la struttura di output. I caratteri, considerati speciali per l'URI devono essere preceduti da un carattere di escape utilizzando la codifica standard %.
Segue una descrizione di tutti gli URI supportati.
Chiamate di controllo
È possibile invocare le seguenti chiamate di controllo:
Il seguente diagramma mostra un uso tipico dell'appliance di URLSW con 4 server Web e un database.

Appliance in uso:
Esempio di configurazione della proprietà:
|
Nome di proprietà |
Valore |
note |
|
out1_type |
hostname |
Le richieste per srv1 sono combinate per nome host |
|
out1_value |
static.server.com, images.server.com |
Le richieste per gli host static.server.com e per images.server.com sono servite da srv1 |
|
out2_type |
tipo di file |
Le richieste per srv2 sono combinate per tipo di file |
|
out2_value |
|
I documenti PDF sono serviti da srv2 |
|
out3_type |
tipo di file |
Le richieste per srv3 sono combinate per tipo di file |
|
out3_value |
*.php |
Gli script di PHP sono serviti da srv3 |
Tutte le altre richieste servite da srv4 quando è connesso al terminale AUX.
La richiesta del client arriva sul gateway utente. Il gateway inoltra le richieste al server di URLSW, il quale le distribuisce tra 4 server Web in base alle regole definite nelle proprietà dell'appliance o aggiunte in modo dinamico dal terminale CTL. il terminale CTL è accessibile dal gateway admin.
Questa appliance usa software Open Source e di terze parti
URLSW usa i seguenti pacchetti Open Source di terze parti oltre ai pacchetti Open Source di terze parti usati dalla loro classe di base LUX6.
|
Software |
Versione |
Modificato |
License |
note |
|
nginx-stable |
0.8.53 |
No |
GPLv2 |
N/A |
|
samba-client |
3.5.10-125 |
No |
GPLv2 |
N/A |
|
samba-common |
3.5.10-125 |
No |
GPLv2 |
N/A |
|
thttpd |
2.25b |
No |
BSD |
pagina iniziale |
|
Copyright © 2013 CA.
Tutti i diritti riservati.
|
|