我计划开发一个具有以下功能的独立的静态图像服务器,但首先想知道开源世界中是否已经存在类似的东西(语言不重要):
- 主图像上的宁静(粗糙),例如:
/GET/asd983249as
- 可能批量获取 / LIST
- 支持与图像直接相关的元数据(知识共享信息、尺寸等)(不包括从域到这些图像的引用)
- 宁静的懒惰获取图像的不同“再现”。即,如果演绎版不存在,则根据请求创建它。显然原始图像需要存在。允许不同的操作(调整大小和裁剪开始)
- 例如:(
/GET/asd983249as/100x100
简单调整大小) - 允许的尺寸是可配置的,所以不要被 DoS 攻击(反正不是那么快)
非功能性:
- 合理的性能/可扩展/ HA(是的,我知道这并没有真正说明什么)
- 可能是内存缓存
考虑走 Mongo GridFS 路线,几乎免费获得 MongoDb 分片和复制。将 Nginx 放在前面,也许(部分)直接使用 nginx-gridfs(见下文)应该允许其余的东西,并且通过一些配置,如果 gridfs 无法自行处理(不知道)一些简单的缓存
资料来源:
nginx-gridfs http://www.coffeepowered.net/2010/02/17/serving-files-out-of-gridfs/
懒惰的想法(以及我正在寻找的简单实现,尽管它似乎比积极维护的项目更业余) http://sumitbirla.com/2011/11/how-to-build-a-scalable -缓存调整图像服务器/
其他接近但不是最终解决方案的东西 https://github.com/adamdbradley/foresight.js/wiki/Server-Resizing-Images
任何已经这样做的东西?