我打算开发具有以下功能的独立的静态图像服务器,但首先想知道开源世界中是否已经存在类似的东西(语言并不重要):


主映像上的静态(crud),例如:/ GET / asd983249as
可能批量获取/ LIST
支持与图像直接相关的元数据(知识共享信息,尺寸等)(不包括从域到这些图像的引用)
图像的不同“再现”的宁静懒惰。即:如果不存在演绎,则会根据请求创建。显然,原始图像需要存在。允许进行不同的操作(首先调整大小和裁剪)


例如:/ GET / asd983249as / 100x100(简单调整大小)
允许的尺寸是可配置的,因此不要进行DoS设置(无论如何都不能这么快)



无功能:


性能合理/可扩展/高可用性(是的,我知道这并没有说什么)
可能是内存中缓存


考虑采用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-caching-resizing-image-server/

其他接近的东西,但不是最终解决方案
https://github.com/adamdbradley/foresight.js/wiki/Server-Resizing-Images

已经做过什么了吗?

最佳答案

我会建议你这个项目:
https://github.com/imbo/imbo

它易于使用,稳定并且可用于大型项目。

但是我仍然对替代品感到好奇。

关于image - 是否存在任何开源的独立静态图像服务器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12289244/

10-17 02:31