是否存在任何开源独立的restful映像服务器?

时间:2012-09-05 20:28:05

标签: image image-processing nginx gridfs

我打算开发一个具有以下功能的独立的Restful Image Server,但首先想知道开源世界中是否存在类似的东西(语言并不重要):

  • 在主图像上休息(crud),例如:/ GET / asd983249as
  • 可能批量获取/列表
  • 支持与图像直接相关的元数据(广告公告信息,尺寸等)(不包括从域到这些图像的引用)
  • 宁静懒惰 - 获得图像的不同'再现'。即:如果不存在再现,则根据请求创建。显然原始图像需要存在。允许不同的操作(调整大小和开始裁剪)
    • 例如:/ 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/

lazy-gets的想法(以及我正在寻找的简单实现,虽然它似乎比积极维护的项目更惹人喜欢) http://sumitbirla.com/2011/11/how-to-build-a-scalable-caching-resizing-image-server/

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

任何已经这样做的东西?

2 个答案:

答案 0 :(得分:6)

我会推荐你​​这个项目: https://github.com/imbo/imbo

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

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

答案 1 :(得分:0)

我一直在寻找项目的选项,然后在下面找到了这两个选项。它们并非完全符合您的要求,但看起来很成熟。不过,我还没有与他们的经验。

  1. https://imageresizing.net/基本版是开源的。没有更高级的解决方案。
  2. http://thumborize.me/(与关联的github)具有许多有趣的功能,例如人脸检测,新编解码器和智能裁剪。