diff --git a/networking/021-modelli-architetturali.md b/networking/021-modelli-architetturali.md new file mode 100644 index 0000000..d5da97c --- /dev/null +++ b/networking/021-modelli-architetturali.md @@ -0,0 +1,9 @@ +# Modelli architetturali + +L'architettura rappresenta l'organizzazione strutturale e logica di un sistema, definendo come interagiscono tra loro le sue componenti per raggiungere determinati obiettivi. + +Le principali architetture esistenti: + +- `Client-Server`: in questo modello esistono due ruoli ben definiti: il `client`, che richiede un servizio, e il `server`, che lo fornisce. Questa architettura è caratterizzata da una forte centralizzazione, dove il server diventa il punto focale per l'elaborazione delle richieste. Un notevole svantaggio è la limitata scalabilità: all'aumentare del numero di client, cresce il carico sul server +- `Peer-to-Peer` (P2P): non esistono ruoli fissi come client o server. Ogni nodo della rete è in grado sia di richiedere che di fornire servizi, contribuendo così a una distribuzione del carico più equilibrata. La scalabilità è intrinseca al sistema: con l’aggiunta di nuovi nodi, si incrementano sia le risorse disponibili che la capacità di elaborare richieste, garantendo una maggiore resilienza +- `Ibrida`: questa architettura combina gli aspetti più vantaggiosi dei modelli client-server e peer-to-peer. In un sistema ibrido, alcune funzioni possono essere centralizzate mentre altre vengono delegate ai nodi distribuiti