Lezioni e materiale sui sistemi distribuiti
- Andrea Pollini
- Sistemi Distribuiti
- 29 Jun, 2023
Benvenuti alla serie di lezioni di introduzione ai sistemi distribuiti! In questa serie di lezioni, esploreremo il mondo affascinante dei sistemi distribuiti e impareremo i concetti fondamentali dietro la loro progettazione, implementazione e gestione.
I sistemi distribuiti sono diventati una parte essenziale del nostro mondo digitale in rapida evoluzione. Con il crescente bisogno di gestire enormi quantità di dati, fornire servizi scalabili e garantire l’affidabilità delle applicazioni, i sistemi distribuiti si sono affermati come una soluzione efficace. Da applicazioni web e mobile a infrastrutture cloud complesse, i sistemi distribuiti sono alla base del modo in cui le nostre tecnologie funzionano e interagiscono tra loro.
Durante questa serie di lezioni, affronteremo una vasta gamma di argomenti. Inizieremo con una panoramica generale dei sistemi distribuiti, esaminando le loro caratteristiche chiave, i vantaggi e le sfide che comportano. Successivamente, approfondiremo gli aspetti architetturali, inclusi i modelli di comunicazione, i protocolli di rete e i meccanismi di coordinamento.
Esploreremo anche le strategie di progettazione dei sistemi distribuiti, come la scalabilità, l’alta disponibilità, la ridondanza e la tolleranza ai guasti. Studieremo gli algoritmi di consenso, come il protocollo di consenso distribuito di tipo Blockchain, e ne esamineremo gli utilizzi e le applicazioni pratiche.
Nelle lezioni successive, esamineremo le tecnologie di comunicazione tra processi, come le architetture a microservizi e i sistemi a messaggi. Approfondiremo i concetti di bilanciamento del carico e gestione delle code, che sono essenziali per garantire prestazioni ottimali e affidabilità nel contesto di sistemi distribuiti.

Evoluzione dei sistemi distribuiti
L'evoluzione dei sistemi distribuiti è stata un processo graduale che ha portato a sistemi sempre più complessi e sofisticati. Le tappe fondamentali di questa evoluzione possono essere riassunte com
Leggi
definizione di sistema distribuito, le varie tipologie esistenti, vantaggi e svantaggi rispetto a un sistema monolitico
Un sistema distribuito è un tipo di sistema informatico composto da un insieme di componenti software o hardware interconnessi, distribuiti su più nodi o computer, che collaborano tra loro per raggi
Leggi
Struttura di un sistema distribuito
La struttura di un sistema distribuito é quella che consente di ottenere quanto specificato prima nella sua definizione. Andiamo per ordine.Per prima cosa definiamo un nodo generico in un sistema d
Leggi
La comunicazione client server nei del sistemi distribuiti
La comunicazione client-server rappresenta uno dei modi fondamentali di interazione tra i nodi di un sistema informatico. Questo tipo di comunicazione consente ai nodi di connettersi e
Leggi
La comunicazione peer to peer nei del sistemi distribuiti
La comunicazione peer-to-peer (P2P) è un modello di comunicazione utilizzato nei sistemi distribuiti in cui i nodi partecipanti si comportano sia come client che come server simultaneamente, collab
Leggi
Architettura IoT e sistemi distribuiti
un sistema IoT con Arduino e sensori collegati via rete a un server centrale può essere una componente di un sistema distribuito. Per strutturare tale sistema a livello di rete, si possono considerar
Leggi