Domanda

Superfeedr è un feed di analisi su richiesta del servizio.Vogliamo fornire analitiche dei nostri utenti, e stiamo studiando quale sarebbe la strategia migliore per farlo.

In sintesi, si vuole tenere traccia del numero di operazioni (eventi, come :new entry in un determinato feed) nel nostro sistema, così come agregated dati (numero di abbonato, per l'alimentazione).

Naturalmente, il agregated dati possono essere "calcolato", basato su eventi.(il numero di susbcribers a un feed è la somma delle sottoscrizioni, meno la somma di unsubscriptions).Tuttavia, dal momento che si vogliono studiare, che nel corso del tempo (numero di susbcribers su base giornaliera), il evented approccio può essere sub-ottimale, in quanto vi ri-calcolare la stessa cosa più e più volte.

Come costruire un componente nella tua applicazione?Ciò che il flusso di informazioni?Quali archivi di dati?Quale soluzione graca?ecc...

So che questo è piuttosto una questione aperta, ma sono sicuro che non siamo i primi con un tale bisogno!

[AGGIORNAMENTO]:Infrastruttura :Abbiamo una serie di lavoratori, che sono XMPP client e interagire tutti insieme.Essi sono basati su di EventMachine, il che significa che essi non blocco IO.Obiettivo desiderato :dobbiamo essere in grado di raccogliere enormi quantità di dati.Attualmente, siamo già a circa 200-300 msg/sec e puntiamo a 10x-100x che.

È stato utile?

Soluzione

E ' difficile da dire senza ulteriori informazioni sulla vostra infrastruttura e di scala desiderato obiettivi.Si possono trovare le slide su Come Twitter Utilizza Hadoop per essere didattico.È stato presentato da Kevin Weil al recente NoSQL East conference.

alt text

Prendendo a prestito idee da ciò che Twitter sta facendo, si potrebbe prendere in considerazione una architettura diviso in raccolta, l'analisi e il rendering fasi.

La Fase Di Raccolta:Super bassa latenza.Molto scalabile.Un sacco di scelte vincolanti.Sviluppato presso facebook.

Nodo Elaborazione Di Log Event -> Scriba -> HDFS

Fase Di Analisi:SQL come linguaggio di query che vi permetterà di fare esplorativo ad hoc query.

HDFS -> Maiale -> MySQL

Fase Di Render:Implementato nel vostro attuale framework per il web

MySQL -> JSON -> Memcached -> Flash per la creazione di Grafici

Ci sono stati alcuni post qui sul MODO per quanto riguarda la scelta del Flash componenti grafici per thew web.Io personalmente ho avuto un buon successo con il AmCharts.

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