现在有一个系统可以在数据包捕获文件进入时将它们写入本地磁盘。出于容错的原因,将这些文件作为第一步删除到本地磁盘被认为是可取的。如果客户端死机并需要重新连接或在其他地方启动,我们享受从磁盘重播的能力。
数据管道的下一步是尝试将这些登陆到磁盘的数据发送到远程客户端。假设有足够的磁盘空间,我觉得使用本地磁盘(以及它上面的页面缓存)作为持久的无限先进先出非常方便。还希望使用文件系统来保持生产者和消费者之间的低耦合。
在我的研究中,我没有找到很多关于这种架构的指导。更具体地说,我还没有在流行的开源库/框架中看到用于在文件被写入流式传输时读取文件的成熟模式。
我的问题:
这个架构中是否存在我没有注意到或间接淡化的缺陷?
是否有建议在写入文件时使用它,并在文件中有更多可用数据时有效地阻止和/或异步通知?
目标是显式或隐式地让消费者从页面缓存温暖中受益。有没有关于如何优化这个的建议?