Django:如何提供用户提交的图像&来自单独的多个服务器的缩略图?

时间:2011-04-11 00:20:50

标签: python django file-upload thumbnails infrastructure

对于我的Django网站,我想:

  1. 接受用户提交的图片
  2. 从这些图片生成缩略图
  3. 将原始图像和缩略图放在单独的多个专用于提供图像的服务器上
  4. 我需要多个独立的服务器来提供图像/缩略图,以确保我有足够的IO性能。

    构建像这样的分布式图像服务系统的最佳方法是什么?任何有用的开源软件?

    感谢。

1 个答案:

答案 0 :(得分:4)

这听起来像是分布式任务队列的工作。我个人最喜欢的是Beanstalkd b / c它非常轻巧,易于使用。

服务器:https://github.com/kr/beanstalkd
客户端库:https://github.com/PeterScott/beanstalkc
Django Helper:https://github.com/jonasvp/django-beanstalkd

它的工作方式是这样的:
1.文件上传并存储在本地
2.通过上传视图创建作业并将其放入beanstalk管中 豆茎工人正在观察工作管,他们抓住新工作 4.工作人员可以创建缩略图并将其分发到您需要的任意数量的服务器

美丽的是,您可以根据需要让尽可能多的工人从管中取出。因此,如果你落后,只需要激活更多的工人。工人可以在同一台机器上或在许多不同的机器上运行,一切正常。