2014-01-03 2 views
0

Я искал файл SpoolingDirectorySource в Flume-ng и обнаружил, что он запрашивает каталог спула после заданного параметра POLL_DELAY_MS для генерации новых событий. Эти события затем обрабатываются ReliableSpoolingFileEventReader в отдельной теме.Flumm-ng Справочник источника источника каталогов источника для новых файлов вместо использования родного API WatchService

Мне было интересно, почему ReliableSpoolingFileEventReader не использует WatchService API, который является довольно низким, а также потокобезопасным. Существует ли какое-либо конкретное ограничение дизайна, которое предпочитает опрос над наблюдателем? \

Спасибо.

ответ

1

В целом, Flume работает лучше с партиями событий. Это связано с тем, что файл File fsync s для каждой партии. Таким образом, ожидание периода времени является хорошим компромиссом для сбора партии событий.