1 Architettura client-server

Agli albori di Internet, l'architettura client-server si diffuse, sebbene ce ne fossero altre. Il suo significato sta nel fatto che tutti i partecipanti alla rete sono divisi in due parti logiche: client e server.

Il compito del server (server, da servire - a servire) è servire le richieste del cliente. Il server svolge la maggior parte del lavoro, memorizza tutti i dati necessari e ne monitora l'integrità. E sebbene ci siano computer che chiamano server, di solito i termini "client" e "server" significano software.

Il compito del cliente è vivere nel proprio piacere. Quando il client ha bisogno di alcuni dati dal server, gli invia una richiesta. Dopo qualche tempo, riceve una risposta dal server e può fare qualcosa di importante con i dati ricevuti.

Le richieste sono sempre avviate dal cliente. La modalità di comunicazione avviene sempre sotto forma di richiesta-risposta. In un certo senso, questo è sinonimo del concetto di “client-server” .

E quali sono le alternative? Ebbene, in primo luogo, le reti peer-to-peer, in cui tutti i partecipanti sono uguali (sono anche chiamate reti peer-to-peer). Se tu e il tuo amico state chattando o inviando messaggi di testo, questo è solo un esempio di rete peer-to-peer. Qual è la differenza?

Puoi scrivere un messaggio e non ottenere risposta, quindi inviarne uno nuovo e così via. Il tuo amico può essere l'iniziatore del dialogo. Entrambe le parti possono scrivere per prime. Tutte le informazioni sul dialogo sono memorizzate da entrambe le parti, nessuno è obbligato a rispondere.

Vantaggi dell'architettura client-server:

Affidabilità . I clienti possono essere ovunque, anche su piattaforme non attendibili. Windows sul tuo computer può bloccarsi, il tuo iPhone può essere rubato e i dati archiviati nel cloud non vanno da nessuna parte.

Clienti deboli e a buon mercato . Se devi fare un montaggio video sul tuo telefono, caricalo sul server ed eseguilo sulle strutture del server. Il client può essere uno strumento economico.

Carico bilanciato . Ogni client ha un programma di utilizzo individuale, che può essere molto irregolare. Il server riceve richieste da migliaia di client, il suo carico è mediato e quindi meglio prevedibile.

Architettura client-server