Sto progettando un prototipo di monitor in tempo reale per l'elaborazione di quantità piuttosto elevate (> 30G/giorno) di dati numerici in streaming. Mi piacerebbe scriverlo in Clojure, poiché il linguaggio sembra ben adattato al tipo di sistema "Observer + State Machine" che probabilmente finirà per essere.Lamina vs Storm
I due candidati principali che ho trovato per un framework sono Lamina e Storm. C'è anche Riemann e Pulse, ma il primo sembra più una soluzione completa piuttosto che un framework, e preferisco non impegnarmi ancora in un progetto definitivo; Il repository di Pulse sembra un po 'non mantenuto?
Quello che mi piacerebbe sapere è; per quali tipi di dati e flusso di lavoro sono ottimizzati questi due progetti? Storm sembra essere più maturo, ma Lamina sembra più compositiva e "Clojureic" (il mio background è Python, quindi tendo a valutare questo valore).
Quello che ho trovato dalla lettura on-line:
tempesta sembra essere Big Data (flusso) concentrata, il nucleo è Java dritto con un modem DSL Clojure. Sembra che siano pre = compilati gestori per un certo numero di fonti di dati esistenti.
Lamina è più un componente leggero e riutilizzabile che fa la cosa Clojure della codifica per le astrazioni, il che significa che può essere reused as a base for other eventing systems. Le fonti di dati devono essere gestite nel codice.
Entrambe dispongono di un insieme utile di funzioni di aggregazione/divisione/computazione della libreria. L'integrazione graphviz di Lamina è un bel tocco.
Dà un sacco di cose in bundle, quindi ho intenzione di fare un tentativo e vedere se è eccessivo. Lamina, dal mio armeggiare con esso, sembra un po 'troppo di basso livello, anche se molto snella ed elegante. Grazie! – CLF