有没有办法将图像保存到Mongo的GridFS中,然后在后台异步上传到S3?也许可以链接上传器?问题是:使用了多个服务器,因此,保存在硬盘上的图像和正在运行的后台进程可能在不同的服务器上。此外: 1.上传到S3后应从GridFS中删除 2.对应实体销毁时应自动从S3中删除谢谢。
你们的部署架构是什么样子的?当你说“多台服务器”时,我有点困惑,你是指多个mongod实例吗?同时,你的需求说明有些让人困惑。根据要求1,如果你上传到S3,则GridFS文件应该被删除。然而,根据你的要求,它不能同时存在于S3和GridFS中,因此,要求2似乎与第一个要求相矛盾,也就是说,它本身就不应该存在于GridFS中。你是否在GridFS和S3上保存一些文件?如果你正在运行副本集或分片集群,你可以在你的GridFS集合上创建一个tailable cursor(尽管不建议在单个节点上这样做)。当你看到插入操作时(看起来像'op':'i'),你可以执行一个脚本或在你的应用程序中执行某些操作,从GridFS获取文件并将适当的文件推送到S3。同样地,当你看到删除操作('op':'d')时,你可以立即从S3中删除该文件。tailable游标的优美之处在于它允许异步操作-你可以在另一台服务器上监视oplog并执行相应的操作。