Java asincrono

4

Mi chiedo se volessi implementare un servizio web basato su java che fa analisi web, che tipo di architettura dovrei usare. L'attuale elaborazione dei Big Data sarebbe effettuata da Hadoop.

Tuttavia non sono sicuro di cosa avrei bisogno di fare per renderlo asincrono, o Hadoop è già asincrono per sua natura? Posso fare qualcosa con JMS? Se è così, come sarebbe adattarsi all'intera cosa? Sarebbe qualcosa di simile che quando ricevo la richiesta di servizio web, io uso JMS per inviare un messaggio a Hadoop per gestire un dato particolare, e poi aspettare che venga a me? Non ho molta familiarità con Java asincrono quindi non sono sicuro da dove cominciare.

    
posta Jason Madux 23.02.2012 - 03:53
fonte

2 risposte

2

"Uso JMS per inviare un messaggio a Hadoop per gestire un dato particolare, e poi attendo che esso ritorni a me" - questo sta usando un protocollo asincrono per implementare un'interazione sincrona.

C'è bisogno che il tuo programma attenda la risposta? Se non è possibile che un altro processo gestisca le risposte?

Ci sono diversi pattern asincroni che puoi usare a seconda dei tuoi requisiti: -

  • "Fire and Forget" semplicemente inserisce la richiesta in una coda e si fida del processo di ricezione per applicare le modifiche.
  • "Invia e vota" - fai un giro in giro metti tutte le richieste in coda, elabora tutte le risposte.
  • "processi mittente e destinatario" - hanno processi, thread di programmi o qualsiasi altra cosa, uno o più per inviare richieste, uno o più per gestire le risposte.
risposta data 23.02.2012 - 04:26
fonte
1

Potresti prendere in considerazione l'utilizzo di qualcosa come il Mule ESB: link

È open source, piuttosto leggero, in grado di ospitare servizi Web e supporta la piena elaborazione asincrona degli eventi in entrata.

Potresti iniziare con la creazione di un servizio web Mule lightwieght che spara le richieste a Hadoop (forse tramite JMS, ma puoi anche chiamare direttamente Hadoop). Ma avresti la flessibilità di aggiungere molti più servizi e funzionalità in seguito.

    
risposta data 23.02.2012 - 05:03
fonte

Leggi altre domande sui tag