对于我的 Django 网站,我想:
- 接受用户提交的图片
- 从这些图像生成缩略图
- 将原始图像和缩略图放在单独的多个专用于提供图像的服务器上
我需要多个独立的服务器来提供图像/缩略图,以确保我有足够的 IO 性能。
构建这样的分布式图像服务系统的最佳方法是什么?有什么开源软件可以提供帮助吗?
Thanks.
这听起来像是分布式任务队列的工作。我个人最喜欢的是 Beanstalkd b/c,它非常轻量且易于使用。
Server: https://github.com/kr/beanstalkd https://github.com/kr/beanstalkd
客户端库:https://github.com/PeterScott/beanstalkc https://github.com/PeterScott/beanstalkc
姜戈助手:https://github.com/jonasvp/django-beanstalkd https://github.com/jonasvp/django-beanstalkd
它的工作方式是这样的:
1. 文件上传并存储在本地
2.通过上传视图创建作业并放入beanstalk管中
3. Beanstalk工人正在看管子工作,他们抢了新工作
4.工作人员可以创建缩略图并将其分发到您需要的任意数量的服务器
美妙之处在于,您可以根据需要让尽可能多的工人通过管子喂食。因此,如果你落后了,只需解雇更多工人即可。工作人员可以在同一台机器上,也可以在许多单独的机器上,并且一切都会正常工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)