在将本地文件写入网络时以高性能方式流式传输本地文件
High performance ways to stream local files as they're being written to network
今天存在一个系统,当数据包捕获文件进入时,会将它们写入本地磁盘。出于容错原因,将这些文件作为第一步删除到本地磁盘被认为是可取的。如果客户端死机并需要重新连接或在其他地方启动,我们可以享受从磁盘重播的能力。
数据管道的下一步是尝试将登陆到磁盘的数据传输到远程客户端。假设有足够的磁盘 space,我觉得使用本地磁盘(以及其上的页面缓存)作为持久性无限 FIFO 非常方便。还希望使用文件系统来保持生产者和消费者之间的低耦合。
在我的研究中,我没有找到很多关于这种架构的指导。更具体地说,我没有在流行的开源 libraries/frameworks 中看到用于读取文件的成熟模式,因为它正在被写入以流出。
我的问题:
这个架构中是否存在我没有注意到或间接淡化的缺陷?
是否有关于在写入文件时使用文件并有效阻止 and/or 在文件中有更多数据可用时异步通知的建议?
目标是明确或隐含地让消费者从页面缓存热度中受益。有没有关于如何为此优化的建议?
今天存在一个系统,当数据包捕获文件进入时,会将它们写入本地磁盘。出于容错原因,将这些文件作为第一步删除到本地磁盘被认为是可取的。如果客户端死机并需要重新连接或在其他地方启动,我们可以享受从磁盘重播的能力。
数据管道的下一步是尝试将登陆到磁盘的数据传输到远程客户端。假设有足够的磁盘 space,我觉得使用本地磁盘(以及其上的页面缓存)作为持久性无限 FIFO 非常方便。还希望使用文件系统来保持生产者和消费者之间的低耦合。
在我的研究中,我没有找到很多关于这种架构的指导。更具体地说,我没有在流行的开源 libraries/frameworks 中看到用于读取文件的成熟模式,因为它正在被写入以流出。
我的问题:
这个架构中是否存在我没有注意到或间接淡化的缺陷?
是否有关于在写入文件时使用文件并有效阻止 and/or 在文件中有更多数据可用时异步通知的建议?
目标是明确或隐含地让消费者从页面缓存热度中受益。有没有关于如何为此优化的建议?