Ultima versione: 2.0.2-1

|
In breve |
|
|
Catalogo |
Sistema |
|
Categoria |
Switch |
|
Volumi dell'utente |
no |
|
Min. memoria |
96 M |
|
Sistema operativo |
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 è usato nelle applicazioni che hanno più di una appliance di server Web o di server delle applicazioni per distribuire in modo flessibile le richieste HTTP tra di 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 è usato tipicamente per indirizzare il traffico in entrata a diverse appliance all'interno dell'applicazione.
Risorse
|
Risorsa |
Minimo |
Massimo |
Predefinito |
Testato |
|
CPU |
0,1 |
2 |
0,1 |
2 |
|
Memory (Memoria) |
96 MB |
160 MB |
96 MB |
128 MB |
|
Larghezza di banda |
1 Mbps |
2 Gbps |
250 Mbps |
1800 Mbps |
Terminali
|
nome |
dir |
prot. |
descrizione |
|
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 denominata di condivisione di scrittura di leggere. 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. |
Proprietà generali
|
nome |
tipo |
descrizione |
|
outX_type |
string |
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 |
string |
Espressioni regolari da far corrispondere. Una definizione di espressione regolare è disponibile qui. Esempi:
Impostazione predefinita: (vuoto) |
Proprietà di healthcheck
|
nome |
tipo |
descrizione |
|
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
|
nome |
tipo |
descrizione |
|
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
|
nome |
tipo |
descrizione |
|
ctl_port |
Int |
Porta usata per accedere all'interfaccia di controllo del servizio Web mediante il terminale CTL. |
Registrazione delle proprietà
|
nome |
tipo |
descrizione |
|
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 |
Contatori personalizzati
L'appliance di URLSW riporta i seguenti calcolatori personalizzati usando il terminale MON.
|
Nome di contatore |
Descrizione |
|
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 |
Prestazioni
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.
Messaggi di errore
In caso di errore nell'avvio dell'appliance, è possibile che vengano registrarti i seguenti errori nel log di sistema:
|
Messaggio di errore |
Descrizione |
|
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:
Protocollo
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 che vengono considerati speciali per l'URI dovrebbero essere evitati mediante lo standard di codifica %.
Segue una descrizione di tutti gli URI supportati.
Chiamate di controllo
È possibile invocare le seguenti chiamate di controllo:
Pulisci l'elenco delle espressioni regolari del terminale di output specificato
Il seguente diagramma mostra un uso tipico dell'appliance di URLSW con 4 server Web e un database.

Appliance in uso:
Esempio di configurazione delle 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.
Software Open Source e di terze parti utilizzato all'interno dell'appliance
URLSW usa i seguenti pacchetti Open Source di terze parti oltre ai pacchetti Open Source di terze parti usati dalla loro classe di base LUX5.
|
Software |
Versione |
Modificato |
License |
Note |
|
nginx-stable |
0.8.53 |
No |
GPLv2 |
N/D |
|
samba-client |
3.0.28-0.el5.8 |
No |
GPLv2 |
N/D |
|
samba-common |
3.0.28-0.el5.8 |
No |
GPLv2 |
N/D |
|
thttpd |
2.25b |
No |
BSD |
Home page |
| Copyright © 2011 CA. Tutti i diritti riservati. | Contatta CA Technologies |