对于我的Django网站,我想:
我需要多个独立的服务器来提供图像/缩略图,以确保我有足够的IO性能。
构建像这样的分布式图像服务系统的最佳方法是什么?任何有用的开源软件?
感谢。
答案 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.工作人员可以创建缩略图并将其分发到您需要的任意数量的服务器
美丽的是,您可以根据需要让尽可能多的工人从管中取出。因此,如果你落后,只需要激活更多的工人。工人可以在同一台机器上或在许多不同的机器上运行,一切正常。