Darkstar: una piattaforma ‘open’ per applicazioni Web 2.0
Project Darkstar è un progetto open source sostenuto da Sun Microsystems che mira semplificare lo sviluppo e la gestione di sistemi online per moltissimi utenti: giochi multiplayer, mondi virtuali e social networking
Con il nome di Project Darkstar si stanno gettando le basi per una innovativa infrastruttura software che promette di fissare gli standard per le nuove applicazioni per la rete, in particolare quelle Web 2.0 più impegnative, che supportano l’accesso contemporaneo di molti, moltissimi utenti.
Esistono vari esempi di applicazioni di questo tipo tra giochi online, mondi virtuali e applicazioni di social networking, oggi prevalentemente realizzate su piattaforme di tipo proprietario, il cui sviluppo è possibile solo nell’ambito di grosse realtà Web o comunque della ricerca. Project Darkstar mira a cambiare questo stato di cose e rendere finalmente più accessibili e affidabili le future applicazioni per la rete.
Prerogativa della piattaforma è innazitutto evitare alcuni dei problemi che affliggono questi sistemi, tra i quali i sovraccarichi di zona, le perdite d’integrità dei dati, ma anche il sottoutilizzo dei server. La piattaforma Darkstar, disponibile gratuitamente con licenza open source sul sito della comunità promette un’architettura innovativa sul fronte del bilanciamento dei carichi, con un solido modello dati che consente scalabilità ed efficienza, oltre che indipendenza nella programmazione.
Il progetto cambia infatti radicalmente il modello di scalabilità fino ad oggi impiegato, per esempio, nei giochi online. Tradizionalmente i progettisti dividono il gioco in zone concettuali di azione, ciascuna delle quali viene programmata per funzionare indipendentemente dalle altre. L’isolamento delle zone, impedisce però ai giocatori di zone diverse di interagire e tutte le azioni di gioco devono essere elaborate da un insieme fisso di risorse, in base alle assegnazioni decise in fase di sviluppo. Questo significa andare incontro a un sottoutilizzo delle risorse nelle zone con minori livelli di attività e ad eccessi di carico in altre.
Nel modello architetturale del Progetto Darkstar il lavoro di un server è suddiviso in piccole unità, ciascuna delle quali corrisponde a una certa azione in un determinato contesto, e ciascuna può essere gestita su qualsiasi server della rete. Le azioni individuali vengono successivamente distribuite in maniera automatica su tutti i thread disponibili e su tutti i server presenti, avviandone l’esecuzione parallela. Il sistema è quindi in grado di scalare dinamicamente, aggiungendo più thread per gestire un maggior numero di azioni in base all’aumento dei volumi di carico, rilasciando i thread stessi quando le azioni rallentano e diminuiscono.
Con questo tipo di architettura gli sviluppatori possono concentrarsi sulla progettazione del servizio o del gioco, lasciando all’infrastruttura Project Darkstar l’assegnazione delle risorse e il bilanciamento dei carichi, utilizzando maggiormente i server. L’integrità dei dati è garantita dall’architettura stessa. Project Darkstar conserva il proprio stato in un datastore permanente, condiviso globalmente. In questo modo che la perdita di dati è ridotta al minimo qualora si verifichi un errore di sistema.
Tra le caratteristiche di Project Darkstar c’è infine il fatto di presentare agli sviluppatori un modello di programmazione estremamente semplice di tipo event-driven con servizi semplici da utilizzare per la gestione delle comunicazioni, dei task e dell’accesso ai dati. La programmazione dei task, il threading, la distribuzione, il bilanciamento del carico, la gestione delle transazioni e altri servizi sono invece gestiti automaticamente dall’infrastruttura.





Ancora nessun commento.