14.3 C
Roma
mercoledì, Maggio 12, 2021
Home Corsi L'architettura di una sistema completamente distribuito

L’architettura di una sistema completamente distribuito

Un sistema distribuito viene definito una “collezione di computer indipendenti” che naturalmente appare come singolo sistema, all’utente.

Infatti essi hanno la possibilità di utilizzare i sistemi di calcolo che vengono basati su più computer connessi da una sola rete.

Diciamo che appunto le applicazioni sono nate da più processi eseguiti in parallelo su dell’insieme di unità di elaborazione ossia la CPU autonoma, mentre viene anche detto concorrente se invece non viene rispettato il requisito dell’autonomia delle CPU.

L’architettura dei sistemi distribuiti ha grandi capacità di calcolo, viene anche facile gestirne la crescita, dell’utenza e dei nodi, come tutti abbiamo letto, ossia che questa architettura si basa su molteplici pc presi da una rete, diciamo che il ripartire il carico di lavoro sulle altre macchine è molto più vantaggioso, infatti questa architettura ne da possibilità notevole, ma non solo ripartire il carico di lavoro ad un’altra macchina ma si può bensì condividere i dati e le risorse computazionali.

Facciamo un esempio per semplificare il tutto!

Mattia si reca in una compagnia aerea, decide di prendere un biglietto per Londra, acquisto il biglietto, ma tutto ciò? Che mi significa? La compagnia aerea fa visualizzare il mio biglietto in tutti i gate delle strutture di viaggio.

Quindi non fa altro che condividere i dati ed i carichi di controllo in tutte le macchine.

L’architettura dei sistemi distribuiti deve dare agevolazione allo sviluppo dell’esecuzione dell’applicazione, avremo tre casi particolari:

  • Trasparenza nell’accesso: parleremo di accessi locali e remoti, con codifiche little- endian oppure la big-endian dei dati, le modalità dei dati delle convenzioni diverse nell’uso dei nomi dei file.
  • L’indipendenza della locazione: vengono usati i nomi che non dipendono dalla locazione fisica e ne richiede un meccanismo di locazione delle risorse (naming);
  • Rinconfigurazione dinamica e trasparente: determinate risorse ti permettono di poter essere rilocate senza doverne modificare troppo le modalità di accesso, inoltre si possono rilocare anche se ancora in uso, opzione molto adatta per tutti quei sistemi mobili.
  • Una maggiore disponibilità e affidabilità: qui invece le risorse possono essere replicate, dandone un miglioramento di velocità e di accesso (la cache) che la disponibilità, tramite la replicazione è possibile anche migliorare le affidabilità del sistema mascherandone i fallimenti.
  • Le trasparenze nelle concorrenze: due meccanismi che servono per condividere le risorse senza interferenze, quindi, avremo, meccanismi per sincronizzare accessi alle risorse e dei meccanismi per garantire la consistenza di una risorsa.
  • La scalabilità: qui le componenti coinvolte dal sistema possono aumentare oppure diminuire senza che la struttura del sistema o gli algoritmi applicativi possono cambiare.

Una caratteristica del sistema distribuito è il Middleware, infatti un sistema distribuito è organizzato con uno strato di software detto middleware che ne gestisce in modo trasparente un insieme eterogeneo di computer e di reti.

MIDDLEWARE

È uno strato di software che ne risiede tra l’applicazione ed il sistema operativo che ne permette di estrarre e di arricchire le funzionalità del sistema operativo, rendendone molto fluida l’utilizzabilità dell’applicazione. Il middleware ha anche in disaccoppiamento tra i livelli di sistema che ne consente la semplificazione del progetto da parte applicativo e da parte del supporto.

Il middleware permette di:

  • Uso più efficiente delle risorse;
  • Condivisione controllata delle risorse;
  • Il supporto per ambienti collaborativi e lo scambio di informazioni.

Quando il middleware si inserisce il sistema operativo viene a sua volta stratificato in:

  • Host infrastructure middleware che ne è più vicino al sistema operativo;
  • Distribution middleware;
  • Common middleware services;
  • Domain-specific middleware service che ne è più vicino all’applicazione.

Un esempio che possiamo attribuire al middleware è l’utilizzo del Java Virtual Machine unito alle API, al quale permettono di avere un supporto locale unificato per diversi sistemi.

Il livello che fornisce i modelli della programmazione distribuita e ne facilità le applicazioni distribuite configurandone e gestendone le risorse come ad esempio l’RMI, CORBA, DCOM. SOAP.

LINK UTILI

Pagina Instagram: https://www.instagram.com/developer_sumo/
Corso Sistemi Distribuiti: https://www.developersumo.com/sistemi-distribuiti/
I nostri Corsi: https://www.developersumo.com/corsi/
Le nostre Applicazioni su Play Store: https://play.google.com/store/apps/developer?id=Developer+Sumo

Mattia Nigro
Nigro Mattia, nato a Taranto, blogger, sistemista informatico!

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular

Cos’è e come fare un Vlog

Se siete abituati ad usare la tecnologia è abbastanza probabile che siate giovani e che passiate molto tempo sui social e se...

Come usare e creare le classi in HTML

L'attributo class è utilizzato per assegnare ad un oggetto HTML una classe. Una delle caratteristiche principali delle classi HTML è che possono...

Lista compleanni personaggi Death Note

Death Note scritto da Tsugumi Ōba e illustrato da Takeshi Obata. È stato serializzato in Giappone dal 1º dicembre 2003 al 15...

Linguaggio di Programmazione di League of Legends

Se sei un appassionato di sviluppo informatico sicuramente ti sarai chiesto quale sia il linguaggi di programmazione di League of Legends. League...

Recent Comments