У меня есть требование обрабатывать данные файла журнала. Это относительно тривиально. У меня есть 4 сервера с двумя веб-приложениями, работающими на каждом из которых в общей сложности 8 файлов журнала. Они вращаются на регулярной основе. Я пишу данные в следующем формате в эти файлы журналовОбработка файлов журнала: Apache Storm или Spark
Источник Timestamp: 9340398; 39048039; 930483; 3940830
Где номера являются идентификаторы в хранилище данных. Я хочу настроить процесс для чтения этих журналов, и для каждого идентификатора он будет обновлять счет в зависимости от того, сколько раз его идентификатор был зарегистрирован. Это может быть как в реальном времени, так и в партии. Моим языком интерфейса для хранилища данных является Java. Процесс запускается в процессе производства, поэтому он должен быть надежным, но также должен иметь относительно простую архитектуру, поэтому он может обслуживаться. Мы также запускаем zookeeper.
Моя первоначальная мысль заключалась в том, чтобы делать это в пакете всякий раз, когда файл журнала поворачивается с использованием искры Apache на каждом сервере. Однако я тогда посмотрел на агрегировщиков журналов, таких как Apache Flume, Kafka и Storm, но это кажется излишним.
Учитывая множество вариантов, у кого есть какие-либо хорошие предложения относительно того, какие инструменты использовать для решения этой проблемы на основе опыта?
Возможно, такие решения, как [logstash] (https://www.elastic.co/products/logstash), могут быть полезны? Как правило, такие вопросы не соответствуют теме SO. –
Привет, я посмотрел на Logstash, он казался более ориентированным на операции типа фильтрации. Я согласен, что этот вопрос не подходит для устава SO. –