Это скорее проблема дизайна. Я не знаю, как добиться этого в Akka
Обработка файлов с помощью Akka?
История пользователя
- мне нужно разобрать большие файлы (> 10 миллионов строк), которые выглядят как
2013-05-09 11:09:01 Local4.Debug 172.2.10.111 %MMT-7-715036: Group = 199.19.248.164, IP = 199.19.248.164, Sending keep-alive of type DPD R-U-THERE (seq number 0x7db7a2f3)
2013-05-09 11:09:01 Local4.Debug 172.2.10.111 %MMT-7-715046: Group = 199.19.248.164, IP = 199.19.248.164, constructing blank hash payload
2013-05-09 11:09:01 Local4.Debug 172.2.10.111 %MMT-7-715046: Group = 199.19.248.164, IP = 199.19.248.164, constructing qm hash payload
2013-05-09 11:09:01 Local4.Debug 172.2.10.111 %ASA-7-713236: IP = 199.19.248.164, IKE_DECODE SENDING Message (msgid=61216d3e) with payloads : HDR + HASH (8) + NOTIFY (11) + NONE (0) total length : 84
2013-05-09 11:09:01 Local4.Debug 172.22.10.111 %MMT-7-713236: IP = 199.19.248.164, IKE_DECODE RECEIVED Message (msgid=867466fe) with payloads : HDR + HASH (8) + NOTIFY (11) + NONE (0) total length : 84
- Для каждой строки I необходимо сгенерировать
Event
, которые будут отправлены на сервер.
Вопрос
- Как я могу прочитать этот файл журнала эффективно в Akka
модели? Я читал, что чтение файла синхронно лучше из-за меньшего движения магнитной ленты.
- В таком случае, может быть FileReaderActor
на один файл, который будет читать каждую строку и отправить их на переработку позволяет говорить EventProcessorRouter
и Router
может иметь много актеров, работающих на line
(из файла) и создание Event
. Будет 1 Event
за line
- Я также думал о отправке Event
в пакетном режиме, чтобы избежать слишком большой передачи данных в сети. В таких случаях, где я буду продолжать накапливать эти Events
? и как я узнаю, если я все Events
генерируются из inputFile
?
Благодаря