资源服务器架构
定义:这里的资源包含以下内容
图片资源(如二手房的房源图片)
附件(如oa系统中内部信息中的附件,二手房网站中二手房交易合同范本)
html模板板中较大的图片(如专题中经常使用一些大图)php
优点
1.实现了资源和代码的分离
2.方便统一管理
3.加快网站访问速度(图片可单独放启用一个域名,如pic.xxxx.cn)
4.完成图片资源的一些处理,如缩略图,压缩,水印
5.弥补使用svn管理代码时,php生成的文件(若是上传的图片)在svn库中没有体现
6.资源服务器与业务服务器分离,减小服务器压力
7.安全性的考虑:代码目录只读不能写(编译后的模板目录除外)
8.后期app开放涉及到资源的一些操做也可以使用此接口html
功能模块
1.接口部分
(1)资源上传接口,返回资源的url
(2)资源删除接口(删除前会备份至其余服务器,备份服务器按期清理)
2.自动处理功能
上传的资源为图片时进行:缩略图,图片压缩,水印
3.资源管理
ftp:开放ftp帐号,对资源进行管理(不一样帐号拥有各自的权限管理)
web界面:开放管理员帐号(同上)
反对意见及解决方案
1.调用接口,增长一次文件上传,会影响用户体验
解决方案:
资源服务器部署在业务服务器同一网络节点上
异步操做
2.html模板中图片放在资源服务器加大前端工做量
解决方案:
批量替换
图片url连接照旧,业务服务器开启重写规则,重定向到资源服务器
3.加大程序员工做量
提供sdk
解决部分对资源的操做,反而会减小工做量,而且使得代码规范统一前端
灵感来源:七牛云存储程序员
http://developer.qiniu.com/docs/v6/api/reference/up/upload.htmlweb