Domanda

Non riuscivo a trovare una domanda simile a questo.

Al momento sto guardando la soluzione migliore per risolvere un problema di grid computing.

Il setup:

  • Ho una situazione client / server in cui vi clienti [tipicamente muti di più logica] e ricevere istruzioni dal server
  • Avere una richiesta di autorizzazione
  • Clienti riferire informazioni sulla velocità di completare il compito (del difficile compito viene giudicata dal tipo di attività)
  • I clienti ricevono il miglior compito adatto per le loro prestazioni precedenti (i migliori clienti ricevono i problemi peggiori)

Alla fine i requisiti sarebbero:

  • impronta del cliente deve essere piccolo e standalone - non posso avere un client che richiede un sacco per l'installazione e configurazione
  • Il cliente deve essere in grado di afferrare posti di lavoro e tempi di esecuzione di posti di lavoro nuovi dal server (sarebbe bello avere la scala della griglia a nuovi problemi [ei nuovi problemi sarà distribuito dal server] che vengono introdotte)
  • Ho bisogno di avere uno strato di autenticazione (non deve essere complessa o conformarsi a un LDAP esistente) [semplice requisito: i clienti possono iscriversi per un nuovo "appartenenza" e accedi] (non sono sicuro che il RMI di punti di forza sono qui)
  • I clienti sarebbero in grado di funzionare da Internet piuttosto in un environement rete
    • Il che significa che la crittografia dei risultati richiesti

Attualmente sto usando WebServices per comunicare tra i client e il server e. Tutte le informazioni ed i risultati risale al server di hosting (J2EE).

La mia domanda è c'è una messa a punto del sistema di griglia che corrisponde a tutti / la maggior parte di questi requisiti, ed è open source?

Io non sono interessato a fare una nuvola, perché la maggior parte di queste attività sono piccole, ma molto frequente (una volta al giorno, ma il compito può essere facile, ma esegue la manutenzione).

Tutto il codice per questo sistema è in Java.

È stato utile?

Soluzione

Si consiglia di indagare architetture spaziali , in particolare Jini e JavaSpaces . Cosa c'è di Jini? È essenzialmente RMI con un meccanismo di ricerca configurabile. Si richiede un implementor di un'interfaccia Java, e il sottosistema Jini reperti servizi attuali di attuazione che si interfacciano e dinamicamente informa il servizio di questi.

In breve, devi scrivere gli elementi di lavoro in uno spazio. I nodi di rete potrebbero essere impostato per leggere i dati transazionale dallo spazio. Ogni nodo griglia vorrebbe un elemento di lavoro, processo e scrivere un risultato di nuovo in quello spazio (o un altro spazio). Il nodo di distribuzione in grado di monitorare i risultati per essere riscritte (and.or per le temporizzazioni dei risultati previsti, come avete richiesto).

E 'tutto Java, e scalerà in modo lineare. Perché è Jini, i nodi della griglia può caricare dinamicamente le loro classi da un server HTTP e così è possibile propagare gli aggiornamenti del codice banalmente.

Altri suggerimenti

Date un'occhiata su Fagioli griglia

BOINC suona come sarebbe lavorare per il vostro problema, anche se bisogna avvolgere java per i vostri clienti. Questo, e può essere eccessivo per voi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top