2012-09-05 11 views
9

tengo la intención de desarrollar un servidor de imágenes independiente reparador con las siguientes funcionalidades, pero primero me gustaría saber si algo similar ya existe en el mundo del código abierto (idioma no es importante):¿Existen servidores de imagen independientes de código abierto de descanso?

  • reparador (porquería) en la imagen maestra, p. ej .:/GET/asd983249as
  • posiblemente bulk-gets/LISTA
  • compatibilidad con los metadatos (información de Creative Commons, dimensiones, etc.) que se relaciona directamente con la imagen (las referencias del dominio a estas imágenes son NO incluido)
  • descanso tranquilo de diferentes "representaciones" de una imagen. Es decir: si no existe una representación, se crea a petición. Obviamente, la imagen original debe existir. Diferentes operaciones están permitidas (de tamaño y recorte para empezar)
    • por ejemplo:/GET/asd983249as/100x100 (cambio de tamaño sencillo)
    • dimensiones permitidas son configurables, por lo que no conseguir DoS'ed (no tan rápido de todos modos)

no funcional:

  • razonable performant/escalable/HA (sí sé que esto no dice nada en realidad)
  • Posiblemente en mem-caching

Pensando en tomar la ruta de Mongo GridFS, consiguiendo mongodb sharding y replicación casi gratis. Poner a Nginx al frente, quizás (en parte) directamente usando nginx-gridfs (ver a continuación) debería permitir el resto y, con algunas configuraciones, un simple almacenamiento en caché si gridfs no puede manejar eso por sí mismo (no sé)

Fuentes:

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

idea de lazy-gets (y una implementación sencilla de lo que estoy buscando, aunque parecía más hobbyish de un proyecto mantenido activa) http://sumitbirla.com/2011/11/how-to-build-a-scalable-caching-resizing-image-server/

otras cosas que se acercan, pero no es una solución final https://github.com/adamdbradley/foresight.js/wiki/Server-Resizing-Images

¿Algo que ya lo hace?

+0

¿por qué el voto a favor? Las referencias a bibliotecas de código abierto existentes difícilmente pueden considerarse para solicitar debate, etc. –

Respuesta

3

Te recomendaría este proyecto: https://github.com/imbo/imbo

Es fácil de usar, estable y en grandes proyectos.

Pero todavía tengo curiosidad por las alternativas.

Cuestiones relacionadas