Please enable JavaScript.
Coggle requires JavaScript to display documents.
Sistemi distribuiti Lez. 22 - Coggle Diagram
Sistemi distribuiti
Lez. 22
Sistemi sw i cui componenti cooperano comunicando in rete
Vantaggi
Condivisione risorse
Prestazioni, scalabilità, distribuzione carico, tolleranza ai guasti
Economicità
Protocolli web standard, permettono interoperabilità
Svantaggi
Complessità
Controllo delle qualità
(sicurezza, ...)
Rischio di usare metodi non adeguati (es. chiamata locale)
Ipotesi errate
Considerare banda
elevata
Non usare thread
...
Stile client-server
C:
il sistema deve fornire accesso a risorse e servizi a insieme di client distribuiti
P:
Consentire accesso a risorse condivise sostenendo scalabilità, disponibilità, riuso e modificabilità
S:
organizzare sistema come insieme di servizi server e client
Server: componente che eroga servizi
Client: componente che richiede servizi
Relazione tra coppie di componenti C-S
Richiesta-Risposta
Server possono essere disposti gerarchicamente
Anche utilizzo di middleware
Per evitare che singolo server possa essere collo di bottiglia o punto di fallimento
S insieme di server replicati
Livello
Nodo o gruppo con specifiche responsabilità coese
Su cui è distribuito sistema C/S
Caratteristiche di comunicazione
Asimmetrica
C -> S
Sincrona
Client rimane in attesa
di risposta da server
Raramente asincrona
Tipi comunicazione
Stateful
Servizio mantiene informazioni sulle conversazioni con il client (sessioni)
Nell'erogare operazione deve ricordare i risultati delle precedenti (es. carrello spesa)
Stateless
Non mantiene informazioni
Peer-to-Peer
C:
insieme di unità computazionali equivalenti distribuite possono collaborare per offrire servizi a utenti distribuiti
P:
come organizzare entità per condividere risorse o servizi sostenendo scalabilità e disponibilità
S:
organizzare sistema come insieme di componenti che interagiscono tra loro come pari
Connettendoli con protocollo comune e facendoli comunicare con interazioni richiesta-risposta
Scenari
Avvio di
un peer
Contatta un peer noto per chiedere informazioni su altri e informa su risorse che può condividere
Richiesta risorsa
o servizio
Chiede a peer noti
Richiesta di propaga nella rete
Trovata risorsa i due peer vengono messi in comunicazione diretta
Rimozione
peer
Rimosse anche risorse
Replicazione risorse
per evitare guasti
Contesti
File sharing
Cloud