我正在深入研究Flume-ng的SpoolingDirectorySource
src,发现它在指定的POLL_DELAY_MS
参数之后轮询假脱机目录以生成新事件。然后,这些事件由ReliableSpoolingFileEventReader
在单独的线程中处理。
我想知道为什么ReliableSpoolingFileEventReader
不使用WatchService
API,这是非常低级别以及线程安全的。是否有任何特定的设计约束有利于观察者的民意调查? \
感谢。
答案 0 :(得分:1)
一般来说,Flume在批量活动中效果更好。这是因为每个批次的文件通道fsync
。因此,等待一段时间是收集一批事件的良好平衡。