简体   繁体   English

是否存在任何开源独立的宁静图像服务器?

[英]Do any open-source standalone restful image servers exist?

I'm planning to develop a standalone restful Image Server with the following functionality, but first would like to know if something similar already exists in the open source world (language not important):我计划开发一个具有以下功能的独立restful Image Server,但首先想知道开源世界中是否已经存在类似的东西(语言不重要):

  • restful (crud) on master image, eg: /GET/asd983249as主映像上的宁静(crud),例如:/GET/asd983249as
  • possibly bulk-gets / LIST可能批量获取/列表
  • support for metadata (Creative commons info, dimensions, etc.) that directly relates to the image (references from the domain to these images is NOT included)支持与图像直接相关的元数据(知识共享信息、尺寸等)(不包括从域到这些图像的引用)
  • restful lazy-get of different 'renditions' of an image.宁静的懒惰获取图像的不同“再现”。 Ie: if a rendition doesn't exist, it is created upon request.即:如果再现不存在,则根据请求创建。 Obviously the original image needs to exist.显然,原始图像需要存在。 Different operations are allowed (resize and crop to begin with)允许不同的操作(调整大小和裁剪开始)
    • eg: /GET/asd983249as/100x100 (simple resize)例如:/GET/asd983249as/100x100(简单调整大小)
    • allowed dimensions are configurable, so not to get DoS'ed (not as quickly anyway)允许的维度是可配置的,因此不会受到 DoS 攻击(无论如何都不会那么快)

Non functional:非功能性:

  • Reasonable performant / Scalable / HA (yeah I know this doesn't say anything really)合理的性能 / 可扩展 / HA(是的,我知道这并没有真正说明什么)
  • Possibly in-mem caching可能是内存缓存

Thinking about going the Mongo GridFS route, getting MongoDb sharding and replication almost for free.考虑走 Mongo GridFS 路线,几乎免费获得 MongoDb 分片和复制。 Putting Nginx in front, perhaps (in part) directly using nginx-gridfs (see below) should allow for the rest-stuff and, with some config, some simple caching if gridfs can't handle that for itself (don't know)将 Nginx 放在前面,也许(部分)直接使用 nginx-gridfs(见下文)应该允许剩下的东西,并且如果 gridfs 不能自己处理它,一些简单的缓存(不知道)

Sources:资料来源:

nginx-gridfs http://www.coffeepowered.net/2010/02/17/serving-files-out-of-gridfs/ nginx-gridfs http://www.coffeepowered.net/2010/02/17/serving-files-out-of-gridfs/

Idea of lazy-gets (and a simple implementation of what I'm looking for, although it seemed more hobbyish than an actively maintained project) http://sumitbirla.com/2011/11/how-to-build-a-scalable-caching-resizing-image-server/懒惰获取的想法(以及我正在寻找的简单实现,尽管它看起来比积极维护的项目更业余) http://sumitbirla.com/2011/11/how-to-build-a-scalable -缓存调整图像服务器/

other stuff that comes close, but isn't an end solution https://github.com/adamdbradley/foresight.js/wiki/Server-Resizing-Images其他接近但不是最终解决方案的东西https://github.com/adamdbradley/foresight.js/wiki/Server-Resizing-Images

Anything that already does this?任何已经这样做的东西?

I would recommend you this project: https://github.com/imbo/imbo我会向你推荐这个项目: https : //github.com/imbo/imbo

Its easy to use, stable and used in big projects.它易于使用,稳定,可用于大型项目。

But I am still curious about alternatives.但我仍然对替代方案感到好奇。

I was looking for options for a project, and I found those two below.我正在寻找一个项目的选项,我在下面找到了这两个。 They are not a perfect match to your requirements but seem quite mature.它们并不完全符合您的要求,但看起来相当成熟。 I have no experience with them yet, though.不过,我还没有与他们相处的经验。

  1. https://imageresizing.net/ Essential edition is open source. https://imageresizing.net/基本版是开源的。 The more advanced solutions are not.更高级的解决方案不是。
  2. http://thumborize.me/ (with associated github ) has many interesting features like face detection, new codecs, smart cropping. http://thumborize.me/ (与相关的github )有许多有趣的功能,如人脸检测、新编解码器、智能裁剪。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM