我在Bluemix上运行Rails应用程序,并希望使用carrierwave进行文件上传。到目前为止没有问题,因为我使用外部存储来保存文件(ftp,s3,webdav等)。但是,为了保持良好的性能,我需要使用carrierewave_backgrounder启用缓存 - 这里开始变得棘手。事情是我需要指定一个临时文件夹来为后台上传过程(临时文件夹,文件保留在实际存储之前保留),这个文件夹在所有可能的工作人员和应用程序实例之间共享。如果是这样的话,怎么能实现呢?
答案 0 :(得分:0)
签出Object Storage - 您可以存储文件,然后在不再需要时删除它们。 Redis是另一种选择,Bluemix上可用的任何noSQL数据库也是如此。
答案 1 :(得分:0)
通常在您从未存储在VM或PaaS环境的文件系统中的任何云中 - 因为当您向外扩展时,您有多个VMS,并且当100个VM出现时,在一个VM上写入的文件将不可用。建议的做法是查找云平台提供的存储服务。在Bluemix中,您有Cloud Object Storage,File Storgae和Block Storage等存储选项。
如前所述 - 您可以查看云对象存储并使用该服务。以下是云对象存储的文档:https://ibm-public-cos.github.io/crs-docs/?&cm_mc_uid=06526771022514957173672&cm_mc_sid_50200000=1498597403&cm_mc_sid_52640000=1498599343。这包含快速入门指南,存储,检索和API使用。希望这会有所帮助。