在之前的文章nginx独立图片服务器的搭建中,介绍了搭建独立图片服务器的方法,文章中的方法也是在能考虑到的范围内想到的,时隔半年之多,通过平时的使用与管理,对图片服务器也有了更加深刻的认识。
期间也有程序员们发邮件跟我进一步探讨过这个问题,再次整理一下思路发布在这里。
用户通过web server上传图片
web server将原图处理后的各种缩略图通过FTP同步到图片服务器
这种方式在实际生产环境中会有几个问题:
1,FTP连接速度很慢
2,图片很小,数量很多,速度不理想
3,不方便水平拓展
基于以上的问题,解决的方案如下图所示:
用户上传原图到web server。
web server根据规则POST图片到img1、img2...imgN其中的一个。
web server处理生成各尺寸的缩略图,返回成功的信息,数据库记录图片所在服务器。
图片所在地址 http://imgN.abc.com/image1.jpg
此种方法的优点:
允许可以方便的对图片服务器进行横向拓展,只需在数据库中记录一条图片所在服务器即可。
另外,还可以通过观察服务器的负载情况,将图片POST到比较空闲的服务器上。