Migliora la comunicazione tra controller e tracker in uno strumento fetcher Twitter utilizzando RabbitMQ o Apache Flume

1

Ho lavorato per un po 'con alcune ricerche sviluppando uno strumento per recuperare i tweet da Twitter e elaborarli in qualche modo. Il primo prototipo "ha funzionato" ma è diventato un dolore perché abbiamo usato le prese per collegare diversi componenti. L'architettura era simile a questa:

Ilcontrolloredovevacreareattività(informazionisuitweetdesiderati)eillavorodeitrackereradiscaricarlierimandarlialcontrollerperesserememorizzatiedelaborati.AbbiamoutilizzatopiùtrackerperchéilimitidifrequenzadiTwittereabbiamoavutoterribiliproblemidicollodibottigliaedatimancanti.

Orasiamointeressatiariscriverel'interoprogettoestocercandounbuonapprocciopermigliorareleprestazionidellostrumento.Laprimaideasullascrivaniastausando RabbitMQ tra il controller e i tracker, serializzando tutto in un database esterno o HDFS . Un'altra idea sta usando Apache Flume . Ecco le mie domande su queste due opzioni:

  1. RabbitMQ è adatto a questo tipo di attività?
  2. Il server RabbitMQ funziona come un lavoratore? Riceve attività per impostazione predefinita?
  3. Quando si utilizza Apache Flume, è possibile definire più agenti Twitter? So che è facile definire un agente da scaricare da Twitter, ma avrei bisogno di più istanze (tracker) in esecuzione su nodi diversi.
  4. È possibile sostituire dinamicamente le parole chiave dell'agente in Apache Flume.
  5. L'ultimo è una domanda ampia, mi dispiace per quello. Avete altre alternative oltre al RabbitMQ e al canale Apache?
posta David Moreno García 19.01.2015 - 18:27
fonte

0 risposte

Leggi altre domande sui tag