Rails、Paperclip和负载均衡器

3

我曾经使用Paperclip插件在我的Rails应用程序中管理用户文件系统上的头像图片。

现在我需要进行负载均衡,这迫使我将图像放在某个中央位置以供多个服务器共享。

我发现Paperclip无法访问自定义资产主机。 Paperclip可以使用S3,但我正在寻找不使用S3的替代方法。 有什么建议吗?

2个回答

2
Paperclip支持Fog,参见/lib/paperclip/storage/fog.rb和http://fog.io。以下是它们网站上的描述:
“无论您需要计算、DNS、存储还是其他多种服务,fog都提供了一个可访问的入口点,并促进了跨服务兼容性。”

1

我使用Carrierwave上传到S3,因为我们的主机Heroku只允许远程存储文件。但是,您也可以使用Carrierwave上传到其他存储服务,如Rackspace。最初和您一样,我遇到了负载平衡的问题。由于上传文件会在理论上挂起应用程序,直到上传完成。

我通过使用JavaScript直接上传到我们的存储服务来解决了这个问题。我专门使用了jQueryUploadify进行上传。直接上传不会占用整个HTTP线程,这几乎可以平衡服务器的负载。

如果您仍然决定使用Paperclip,我建议您直接上传到存储服务(甚至是您自己的服务器,如果您的服务器主机允许),使用JavaScript,然后将文件分配给您的Paperclip上传器。

希望这有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接