• Non ci sono risultati.

• Il successo del Web

N/A
N/A
Protected

Academic year: 2022

Condividi "• Il successo del Web"

Copied!
43
0
0

Testo completo

(1)

Sistemi Web distribuiti localmente Sistemi Web distribuiti localmente

Valeria Cardellini

Università di Roma Tor Vergata

(2)

Motivazioni Motivazioni

• Il successo del Web

– Siti Web popolari sono soggetti a milioni di hit al giorno – Es.: il sito Web delle Olimpiadi del 2000 ha ricevuto:

• 875 milioni di hit nel giorno di picco

• 1,2 milioni di hit nel minuto di picco

• L’evoluzione dei servizi basati sul Web

– Servizi sempre più complessi e che richiedono generazione di contenuti dinamici e sicuri

– Maggiori aspettative da parte degli utenti

• Regola degli 8 secondi

(3)

Componenti del ritardo Web Componenti del ritardo Web

Web client DNS server Web server

DNS query DNS reply

SYN j SYN k, ACK j+1

ACK k+1 HTTP request

HTTP response

t Network delay

Server delay Network delay

Client delay Client delay

Dov’è il collo di bottiglia?

Connection delay Address resolution delay

(1) DNS? (2) Client/connessione?

(3) Rete? (4) Web server?

Dov’è il collo di bottiglia?

(4)

Potenziamenti del Web Potenziamenti del Web

• Azioni a livello del CLIENT

– Possibilità di intervento limitato

• Azioni a livello di RETE

– “Network guys are doing an excellent job”

• Azioni da parte del CONTENT/SERVICE PROVIDER

– Replicazione dei server – Caching

• Azioni da parte di INTERMEDIARI

– Caching cooperativo (istituzionale o ISP)

– Content Distribution Networks (commerciale)

(5)

Bottleneck

Bottleneck : rete? : rete?

• La bandwidth tende ad aumentare

• Il round trip time (RTT) tende a diminuire

• L’infrastruttura di rete fissa tende a migliorare

• Ma ci sono ancora molti problemi aperti

– Peering points – Routers

– QoS

– Protocolli

– Wireless, ad-hoc networks – …

(6)

Bottleneck

Bottleneck : server? : server?

Ritardi (percentuali) dovuti al server Ritardi (percentuali) dovuti al server

0%

10%

20%

30%

40%

50%

12/1/99 1/1/00 2/1/00

Large servers Random servers

(7)

La La sfida sfida della della rete rete a 10 Gigabit a 10 Gigabit

( ( ovvero ovvero i i limiti limiti della della legge legge di di Moore Moore ) )

0 2 4 6 8 10 12 14 16 18

2000 2001 2002 2003

Backbone (9 months)

Fiber (10 months)

Moore's law (18

months)

(8)

Ottimizzazioni dal lato server Ottimizzazioni dal lato server

Sistemi con server multipli LAN

WAN Scale-up

Miglioramenti HW/SW

Scale-out

Sistemi con server multipli (Web/cache)

Focus

(9)

Scale

Scale - - up e scale up e scale - - out out

• Scale-up

– Interventi a livello di SO

• Evitare copie multiple dello stesso oggetto, politiche di scheduling diverse da round-robin (es., SRTF)

– Modifiche del software del server Web

• Apache 2.2, Flash, Zeus

• Scale-out

– A livello di content/service provider

• Distribuzione locale dei server

• Distribuzione globale dei server

• Integrazione con meccanismi di caching

– A livello di intermediari

• Caching cooperativo

• Content Delivery Networks

(10)

Sistemi Web distribuiti Sistemi Web distribuiti

Web multi-cluster

Distribuzione locale Distribuzione globale

Web cluster Web multi-server

(11)

Sistemi Web scalabili basati su piattaforme con server multipli

• Un meccanismo di routing per indirizzare le richieste client al nodo “migliore”

• Un algoritmo di distribuzione (dispatching) per individuare il nodo

“migliore”

• Un componente esecutore per eseguire l’algoritmo di distribuzione utilizzando il relativo meccanismo di routing

Sistemi Web distribuiti (2)

Sistemi Web distribuiti (2)

(12)

Architetture per Web cluster Architetture per Web cluster

Web switch

144.55.62.18 (VIP)

LAN

Replicazione orizzontale

Web servers

Front-end server(s)

Router/

Firewall

Back-end server(s)

LAN

Web application

server(s) Web server(s) Front-end

server

Replicazioneverticale

(Presentation logic)

(Business logic)

(Transaction server/

Data server)

Con tutte le possibili combinazioni…

(13)

WEB CLUSTER

Architetture per Web cluster:

Architetture per Web cluster:

una miriade di tecnologie (

una miriade di tecnologie ( complesse complesse ) )

Web switch

144.55.62.18 (VIP)

Back-end servers

LAN

Web application

servers Web servers

Front-end server(s)

Network/OS technology

Web server technology

Middleware technology

Database technology

(14)

Sistemi Web distribuiti Sistemi Web distribuiti

Distribuzione locale

Web cluster Mirror site Web multi-server Web multi-cluster Distribuzione globale

Dispatching in due fasi (DNS + Web

switch)

Dispatching in tre fasi (DNS + Web switch + server) Dispatching a

livello 4 (OSI)

Dispatching a livello 7 (OSI)

(15)

Web cluster Web cluster

• Sito Web implementato su di un’architettura parallela o distribuita localmente

• Indirizzi sito Web

– Un solo hostname (es., “www.uniroma2.it”) – Un solo indirizzo IP (virtual IP address o VIP)

• Web server con indirizzi IP “mascherati” all’esterno

Web switch (dispatcher) il cui indirizzo IP è l’indirizzo

IP del sito Web (VIP)

(16)

Richiesta HTTP ad un Web cluster Richiesta HTTP ad un Web cluster

name server autoritativo per www.uniroma2.it

Client browser

name server locale

Web cluster

INTERNET INTERNET

www.uniroma2.it?

(1)

(2) 160.80.1.5

(3)

richiesta HTTP (4)

risorsa Web (5)

root name server

Due fattori da considerare:

• Caratteristiche del Web switch

(17)

Web switch del cluster Web switch del cluster

• Componente di rete con ruolo di dispatcher

– Mapping da VIP ad indirizzo IP di un server

– Distribuzione delle richieste a granularità fine (i pacchetti entranti con indirizzo VIP sono indirizzati dal Web switch)

• dispositivo hardware special-purpose

• modulo software eseguito a livello kernel (SO special-purpose)

• modulo software eseguito a livello applicativo (SO general-purpose)

• Architetture alternative:

Web switch di livello 4 (content information blind)

• sorgente e destinazionazione indirizzo IP, numeri di porta TCP, SYN/FIN bit nell’header TCP

Web switch di livello 7 (content information aware)

• contenuto URL, cookie, SSL id

(18)

Architetture

Architetture per Web cluster per Web cluster

One-level routing (centralizzato)

Web switch

Web switch (Livello 4)

Web switch (Livello 7)

Two-way One-way

TCP gateway TCP splicing TCP handoff Two-way One-way

TCP conn. hop Packet

rewriting

Packet forwarding

Fase di richiesta

Packet tunneling

(19)

Classificazione delle architetture basata su

Livello dello stack OSI a cui opera il Web switch

Percorso seguito dai pacchetti

I pacchetti in ingresso (inbound) passano sempre dallo switchI pacchetti in uscita (outbound)

• Passano anche dallo switch: architetture two-way

• Transitano attraverso un’altra connessione: architetture one- way

Meccanismo di routing utilizzato dal Web switch per re- indirizzare i pacchetti inbound verso i server

• Ad esempio, packet rewriting, packet forwarding, TCP handoff

Architetture

Architetture per Web cluster (2) per Web cluster (2)

(20)

Web switch

Web switch di di livello livello 4 4 (L4) (L4)

• Opera a livello TCP/IP

• TCP session management

– Pacchetti appartenenti alla stessa connessione TCP devono essere assegnati allo stesso server

– Il Web switch utilizza una binding table per la gestione delle connessioni TCP attive

– Il Web switch esamina l’header di ogni pacchetto:

• nuova connessione (SYN bit) assegnamento del server

• connessione esistente ricerca nella binding table

(21)

Architetture di livello 4

Architetture di livello 4 two two - - way way

Web switch Web switch

WebWeb server 1 server 1

WebWeb server 2 server 2

WebWeb server 3 server 3

WebWeb server 4 server 4

WebWeb server 5 server 5 Client

Client browser browser

LAN

DNS server autoritativo per www.site.org DNS server locale

www.site.org?

144.55.62.18

144.55.62.18 (VIP)

• Packet double-rewriting

INTERNET INTERNET Richiesta

Risposta

(22)

Architetture

Architetture di di livello 4 t livello 4 t wo wo - - way way (2) (2)

Ogni server ha il suo indirizzo IP privato

– I pacchetti in uscita devono riattraversare il Web switch

– Web switch modifica dinamicamente sia i pacchetti entranti sia quelli uscenti

Indirizzo IP destinazione dei pacchetti entranti (VIP IP server)

Indirizzo IP sorgente dei pacchetti uscenti (IP server VIP)

Ricalcolo dei checksum IP e TCP

Tecnica basata sul meccanismo di

Network Address Translation (NAT)

(23)

Architetture di livello 4 one

Architetture di livello 4 one - - way way

Web switch Web switch

WebWeb server 1 server 1

WebWeb server 2 server 2

WebWeb server 3 server 3

WebWeb server 4 server 4

WebWeb server 5 server 5 Client

Client browser browser

LAN

DNS server autoritativo per www.site.org DNS server locale

www.site.org?

144.55.62.18

144.55.62.18 (VIP)

INTERNET INTERNET Richiesta

Risposta

• Packet single-rewriting

• Packet forwarding

• Packet tunneling

(24)

Architetture di livello 4 one

Architetture di livello 4 one - - way (2) way (2)

Packet single-rewriting

• Lo switch modifica solo i pacchetti IP entranti

• Il server modifica i pacchetti IP in uscita (IP server → VIP)

Packet forwarding

• Non c’è modifica dei pacchetti IP entranti ed uscenti: i pacchetti sono inoltrati a livello MAC (ri-indirizzamento del frame MAC)

PRO: minor overhead sullo switch per pacchetto

CONTRO: Web switch e server devono trovarsi sulla stessa sottorete fisica

Packet tunneling

• Il pacchetto IP originale è incapsulato dallo switch in un altro pacchetto IP, il cui header contiene: VIP come indirizzo IP sorgente e indirizzo server come indirizzo IP destinatario

(25)

Web switch di livello 7 Web switch di livello 7

• Il Web switch opera a livello applicativo

• Il Web switch deve stabilire la connessione TCP con il client ed attendere la richiesta HTTP

• Ispeziona il contenuto della richiesta HTTP per decidere a quale server inoltrarla

– Parsing dell’header HTTP

– Gestione dei pacchetti inbound (ACKs)

• Principali caratteristiche del content-based routing

– Consente il partizionamento dei contenuti/servizi del sito Web tra diversi server (eventualmente specializzati)

– Favorisce l’utilizzo di meccanismi di caching

– Supporta il dispatching a granularità fine delle richieste HTTP effettuate tramite connessioni persistenti

(26)

Decisione sull’assegnamento a livello 4 e 7

Decisione sull’assegnamento a livello 4 e 7

(27)

Architetture di livello 7

Architetture di livello 7 two two - - way way

• TCP gateway (livello applicativo)

– Il Web switch è realizzato mediante un proxy

• Il forwarding dei dati è realizzato a livello applicativo

– Overhead elevato: ogni pacchetto deve attraversare tutto lo stack di protocolli (data link <-> application <-> data link)

• TCP splicing (livello di SO)

– Ottimizzazione del TCP gateway

• Il forwarding dei dati è realizzato a livello TCP

– Richiede modifiche del kernel del SO sul Web switch

(28)

• TCP handoff (livello di SO)

– La connessione viene stabilita con il Web switch; il Web switch

passa (handoff) la connessione al server che gestisce il servizio ed invia direttamente la risposta al client

– Richiede modifiche del kernel sia sul Web switch che sui server

Architetture di livello 7 one

Architetture di livello 7 one - - way way

TCP/IP Client

Dispatcher

Server

Forward TCP/IP

Handoff

TCP/IP Handoff (1)

(2)

(3)

(4) (5)

conn req ack

conn req

handoff req

ack reply

Livello Applicativo

Sistema Operativo

Client Switch Back-End Server

(29)

Algoritmi di distribuzione Algoritmi di distribuzione

– Statici (stateless)

– Dinamici (state aware)

• client info aware

• server state aware

• client info & server state aware

Livello di informazioni di stato

Nullo

Elevato

(30)

Algoritmi statici

Algoritmi statici vs. vs. dinamici dinamici

Statici Statici

• Facile implementazione

• Overhead trascurabile (sullo switch)

• Possibili situazioni di

sbilanciamento del carico

Dinamici Dinamici

• Implementazione più complessa

• Overhead di comunicazione (tra switch e server) e di

computazione (sullo switch)

• Miglior bilanciamento del carico a parità di politica adottata

(31)

Confronto meccanismi di distribuzione Confronto meccanismi di distribuzione

• Livello 4

– Livello connessione TCP

– Algoritmi di distribuzione content blind – Algoritmi statici e dinamici

• Livello 7

– Livello connessione applicativa (HTTP) – Algoritmi di distribuzione content aware – Algoritmi dinamici

• almeno client info aware (occorre usare l’informazione contenuta nella richiesta del client!)

(32)

Content

Content blind blind dispatching dispatching

(33)

Distribuzione a livello 4 Distribuzione a livello 4

• Non servono algoritmi particolarmente sofisticati

• Esempi di algoritmi statici:

– Random, Round Robin (assegnamento circolare)

• Esempi di algoritmi dinamici server state-aware:

– Attuano una distribuzione delle richieste in base allo stato di carico dei server

– Least loaded, Weighted Round Robin

• Gli algoritmi statici forniscono prestazioni

confrontabili a quelle di algoritmi dinamici nel caso di servizi Web con tempi di servizio che rientrano in

intervalli temporali di 2 ordini di grandezza

• Oltre i 2 ordini di grandezza, è opportuno utilizzare

algoritmi dinamici (client o preferibilmente server

state aware)

(34)

Content

Content Aware Aware Dispatching Dispatching

(35)

Distribuzione a livello 7 Distribuzione a livello 7

• Algoritmi di distribuzione client info aware

– Esempi: Session ID, Content Partition, CAP

• Algoritmi di distribuzione client info & server state aware

– Esempio: LARD

(36)

Algoritmi

Algoritmi L7 client info aware L7 client info aware

• Identificatori di sessione

– Richieste HTTP con stesso SSL id o stesso cookie assegnate allo stesso server

• Partizione del contenuto (statico)

– Contenuto partizionato tra i server rispetto al tipo di file (HTML, immagini, contenuto dinamico, audio, video, …)

• Scopo: utilizzare server specializzati per contenuti differenti

– Contenuto partizionato tra i server rispetto alla dimensione dei file (soglie dinamiche)

• Scopo: aumentare load balancing in presenza di contenuti eterogenei

– Insieme dei file partizionato tra i server mediante una funzione hash

• Scopo: aumentare il cache hit rate nei server Web

(37)

Algoritmi L7

Algoritmi L7 client client info info aware aware (2) (2)

Content Aware Policy (CAP)

– Sfrutta informazioni relative alla tipologia della richiesta da assegnare

– Richiede un meccanismo di classificazione dinamica delle richieste effettuabile in base al tipo di servizio (URL)

• CPU-bound (es., crittografia)

• Disk-bound (query a database)

• Network-bound (download di file di grandi dimensioni)

– Obiettivo: ripartire le richieste CPU/disk/network-bound tra tutti i server

(38)

Algoritmi L7

Algoritmi L7 client client info info & server state & server state aware aware

Locality Aware Request Distribution (LARD)

– considera sia il tipo di richiesta/servizio sia lo stato di carico dei server Web

– ha l’ulteriore obiettivo di aumentare il cache hit rate dei server Web

A A A C B C A A C B

switch

server

server

A A A A A

C B C B C

cache

cache

(39)

Linux

Linux Virtual Virtual Server (LVS) Server (LVS)

• www.linuxvirtualserver.org

• Sistema per la realizzazione di Web cluster con Web switch operante a livello 4

– Per switching a livello 7 vedere i sottoprogetti

• KTCPVS (Kernel TCP Virtual Server): livello applicativo nel kernel

• TCPHA: TCP handoff

• TCPSP: TCP splicing

• Caratteristiche salienti

– Scalabilità

• Possibilità di aggiungere e rimuovere dinamicamente i nodi dal cluster

– Elevata disponibilità

• Meccanismo per la riconfigurazione dinamica del sistema e per il riconoscimento di failure dei nodi (Ultra Monkey Project)

– Configurazione LAN e WAN

(40)

LVS/NAT: Network

LVS/NAT: Network Address Address Translation Translation

(41)

LVS/IP:

LVS/IP: IP IP tunneling tunneling

(42)

LVS/DR: Direct

LVS/DR: Direct Routing Routing

(43)

Sommario caratteristiche

Sommario caratteristiche Web cluster Web cluster

• Architetture alternative

– Web switch livello 4 vs. Web switch livello 7 – One-way vs. two-way

• Principali vantaggi

– Controllo a granularità fine sull’assegnamento delle richieste – Elevata affidabilità (availability, sicurezza)

• Principali svantaggi

– Single point of failure

– Scalabilità limitata dal Web switch

– Scalabilità limitata dalla banda di accesso ad Internet (es., T3 ≈ 45 Mbps)

Riferimenti

Documenti correlati

Al termine dei passaggi precedenti, il supporto tecnico Bomgar codifica il nome host DNS e il certificato radice SSL in un nuovo pacchetto di licenze software, lo invia ai server

Scuola Italiana di Cognitivismo Clinico - SICC [ 22/01/2020 – Attuale ] Indirizzo: Viale Castro Pretorio, 116, Roma (Italia). Master II° Livello: Psicodiagnostica per la

VISTO l’art. 50/2016, il quale prevede che «L'ANAC con proprie linee guida […] stabilisce le modalità di dettaglio per supportare le stazioni appaltanti e migliorare

1. Di prendere atto della rendicontazione presentata dall’Istituto Comprensivo di Tavernola Bergamasca dalla quale emerge che l’Istituto Comprensivo di Tavernola

Di fronte alla personalizzazione, all’idea che quel paio di occhiali sono stati adattati perfettamente a me, con la distanza focale giusta, che quella bicicletta è proprio perfetta

Sviluppiamo una corretta presenza online sulle principali piattaforme come Google, Facebook, Trip Advisor, Instagram, linkedin e tante altre, in questo modo le

Come già segnalato negli anni scorsi, il sito istituzionale necessita di puntuali interventi migliorativi. Se nel corso dell’anno il menu a tendina introduce con sufficiente

Se non si vorranno apportare delle modifiche dalla maschera relativa alla compilazione del Progetto Formativo si potrà cliccare sul tasto ‘Salva e richiedi approvazione.... Una