Rôm*_*con 8 apache streaming zip
我的Rails应用程序的职责之一是创建和提供签名的xmls.任何签名的xml一旦创建,就永远不会改变.所以我将每个xml存储在public
文件夹中并适当地重定向客户端以避免从控制器进行不必要的处理.
现在我想要一个新功能:每个xml都与一个日期相关联,我想实现提供包含每个xml的压缩文件的能力,该xml的日期位于客户端指定的时间段内.尽管如此,该功能有用的时间不能限制在一个月以内,这意味着一些服务的zip文件将大到50M.
我的应用程序部署为Apache的Passenger模块.因此,服务文件是完全不可接受的send_data
,因为客户端必须等待在实际下载开始之前生成整个压缩文件.虽然我对如何在Rails中实现该功能有了一个想法,所以压缩文件是在服务时生成的,但我觉得一旦分配了一些冗长的Ruby/Passenger进程来提供大型zip文件,我的服务器就会缺乏资源.
我读过有关通过Apache提供静态文件的更好解决方案,但不是动态的.
那么,问题的解决方案是什么?我需要类似自定义Apache处理程序的东西吗?如何从我的应用程序通知Apache如何处理请求,压缩文件和同时流式传输结果?
查看我的 Nginx mod_zip 模块:
您可以让后端脚本告诉 Nginx 要在存档中包含哪些 URL 位置,Nginx 会将 ZIP 文件动态流式传输到包含这些文件的客户端。该模块利用 Nginx 的单线程代理代码,并且非常轻量级。
该模块于 2008 年首次发布,目前已经相当成熟。根据你的描述,我认为它会满足你的需求。
归档时间: |
|
查看次数: |
1969 次 |
最近记录: |