Come posso configurare storm per ricevere dati da un client, elaborare i dati in bulloni e quindi restituire i dati elaborati allo stesso client di uno stream?

-1

Ecco il mio scenario: ho un'applicazione client che richiede un potente sistema di calcolo dedicato che ogni pochi secondi elabora alcuni dati in input (pochi kilobyte) e restituisce alcuni megabyte di dati elaborati che il client visualizza in un certo modo. L'algoritmo per elaborare i dati ha una sorta di parametro di "precisione" in modo che possiamo, su un normale computer, elaborare un secondo di dati in un secondo con "bassa risoluzione". Anche se vogliamo "alta risoluzione", potrebbe richiedere alcuni minuti.

Ecco perché abbiamo bisogno di distribuire il carico e ora stiamo cercando in Apache Storm (anche se Cuda o altri sistemi sono in fase di valutazione, quindi i suggerimenti sono apprezzati, ma mi piacerebbe ricevere aiuto per Storm qui).

Ho esaminato Storm in generale e alcuni test sia in Aws che in Azure, ma quello che non riesco a capire è come avere l'origine e la destinazione come lo stesso sprout e quindi la nostra applicazione client. Quindi, ad esempio, potrei inviare i dati a un germoglio, il germoglio partiziona i dati su molte istanze di un bullone, i dati elaborati vengono salvati in memoria su Redis, il client accede (o chiama un'app che accede) a Redis db.

Mi sembra che gli ultimi 2 passaggi potrebbero essere tagliati e rimandare i dati elaborati / di output sullo stesso canale che il client ha inviato i dati di input (ovvero il germoglio ..)

Ps: una volta che i dati vengono rinviati al client, non ne abbiamo più bisogno sul "server" / sistema di tempesta e nessun punto disponibile sarà disponibile per essere richiesto in futuro.

    
posta Paolo Vigori 30.11.2016 - 17:32
fonte

1 risposta

0

Penso di aver trovato una possibile risposta con DRPC

link

ma anche altre opzioni sono apprezzate.

    
risposta data 01.12.2016 - 10:38
fonte

Leggi altre domande sui tag