Я разрабатываю прототип реального времени для обработки довольно больших сумм (> 30G/day) потоковых числовых данных. Я хотел бы написать это в Clojure, так как язык, похоже, хорошо подходит для системы «Observer + state machine», которая, вероятно, окажется такой.Lamina vs Storm
Два основных кандидата, которые я нашел для рамки, - это Ламина и Шторм. Существует также Riemann и Pulse, но первое кажется скорее полноценным решением, чем каркасом, и я бы предпочел не делать окончательный проект; Репо Pulse выглядит немного незапятнанным?
Что я хотел бы знать; какими видами данных и рабочего потока являются эти два проекта, оптимизированные для? Шторм кажется более зрелым, но Ламина кажется более сложной и «Clojureic» (мой фон - Python, поэтому я склонен оценивать это очень).
Что я нашел от чтения онлайн:
Шторма, кажется, Big Data (поток) сфокусирован, ядро является прямым Java с DSL Clojure. По-видимому, у него есть предварительно построенные обработчики для ряда существующих источников данных.
Lamina - более легкий, многоразовый компонент, который делает Clojure для кодирования абстракциями, то есть он может быть reused as a base for other eventing systems. Источники данных должны обрабатываться в коде.
Оба имеют полезный набор функций библиотеки агрегации/расщепления/вычисления из коробки. Интеграция графиков в Lamina - приятный штрих.
Это дает много всего в комплекте, поэтому я собираюсь дать ему попробовать и посмотреть, не слишком ли это. Ламина, по моему возиться с ней, кажется слишком низкоуровневой, хотя и очень обтекаемой и элегантной. Благодаря! – CLF