Sistemi distribuiti: Differenza tra Tecnologia Pull e Push

Sistemi distribuiti: Differenza tra Tecnologia Pull e Push

Push e Pull rappresentano una sostanziale separazione nella definizione delle architetture distribuite e quindi nei sistemi distribuiti. In questi due modelli è identificabile un componente attivo ed uno passivo, definito in base a chi effettua la prima iterazione. Nel modello push, un nodo server invia contenuto informativo verso gli altri nodi interessati senza alcun richiesta alcuna.

Sistemi distribuiti: Differenza tra Tecnologia Pull e Push

I maggior vantaggi di un approccio push sono:

  1. controllo: ogni azione è sincrona sotto controllo dell’utente.
  2. semplicità: non implementando politiche di retrieving del dato, l’architettura è assimilabile ad un singolo utente che lancia comandi verso macchine remote. Strumenti di tipo push sono mediamente più semplici rispetto a strumenti di tipo pull.
  3. minor richieste, rispetto il modello pull, nel modello il componente attivo fornisce il dato, liberandosi da scenari di tipo DoS (Denial of Service).

Tuttavia il modello push nasconde alcuni svantaggi:

  1. mancanza di full automation: per configurare nuovi host è necessario
    l’intervento dell’utente.
  2. minor scalabilità: strumenti di tipo push hanno mostrato i propri limiti per numero crescente di hosts da configurare.

Nel modello pull, il nodo server attende passivamente fino a quando un nodo client non effettua una richiesta di contenuto informativo, il server ne invia poi il contenuto. Oltre ad essere soggetto ad attacchi DoS, il nodo server è gravato dalla complessità legata alla gestione dei contenuti, dovendo memorizzare il contenuto per ogni tipo di richiesta prevista, verificando se il demander è il destinatario corretto monitorando lo stato del buffer per scongiurare scenari di buffer overflow o presenza di contenuti superflui.

Il vantaggio più evidente in un approccio pull è la possibilità di f ull automation , fornendo al momento del provisioning uno strumento per l’ instaurazione della connessione verso il server senza alcun intervento dell’utente. Nonostante il modello pull abbia un grado maggior di scalabilità, in questo sistema la scalabilità dipende proprio dalla struttura centralizzata del modello: a meno di distribuire un numero maggiore di nodi server, il sistema sarà caratterizzato da un collo di bottiglia o bottleneck proprio in corrispondenza del server.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: www.vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *