首页 新闻 会员 周边 捐助

请问访问量高的网站是如何处理图片资源,以保证访问速度的?

0
悬赏园豆:20 [待解决问题]

有些访问量大,图片也多的网站,打开时候还是很快..典型的就是淘宝了.

我最近在做一个项目,以后也会有很多图片...

我目前是这样做的,

将业务数据库和图片专门的数据库分开.

在业务表里有一个字段只存放一个图片ID.

 

图片服务器有3台,在同局域网内,并开了磁盘共享,它们分别是输入服务器,输出服务器,访问服务器.

 

图片接口有2个,分别放于输入,输出服务器上:

输入接口,就是将用户 上传的图片保存后,将路径之类的信息记录到图片库中,每条记录有一个ID.

每张图片的MD5存放在数据库中,如果新上传的图片MD5相同,则只保存"引用"信息,不重复保存图片,磁盘空间可节省一些.

 

输出接口,根据一个图片ID和生成的要求(如宽高,是否加水印等)去数据库里找到要生成的图片路径,之后去从输入服务器的磁盘上找原图片,将图片生成之后,放于 访问服务器上,并返回访问服务器上可访问的图片URL.(根据图片ID及生成要求将生成的可访问URL缓存到内存中,下次就不重复处理对应的图片了,直接返回URL)

 

这样分工明确:

输入服务器主要接收用户上传的原图片,做保存与记录操作.

输入服务器主要按需求生成指定的图片,主要负责加工工作,并返回可访问的URL.

访问服务器就是提供图片读取访问的功能了.

 

但是这样感觉有点繁琐....

 

我们来看一下从浏览器发起web请求到看到图片要多少步骤..

 

1 浏览器请求web服务器.

2 web服务器返回图片ID

3 浏览器用js将图片ID及生成要求   的参数传到输出接口

4 输出接口返回一个可访问的URL

5 浏览器请求URL,显示图片

 

唉...刚开始觉得自己这个想法还是不错的,后来分析一下感觉好周折啊....

 

请问大侠们,你们的网站是如何处理大量图片的?

或者你们知道那些大型网站是如何处理图片的,谢谢了!

hexllo的主页 hexllo | 菜鸟二级 | 园豆:318
提问于:2015-07-25 23:05
< >
分享
所有回答(4)
0

前段时间首页的一篇文章:大型网站图片服务器架构的演进

liqipeng | 园豆:1160 (小虾三级) | 2015-07-25 23:12

他这个说得太笼统了..

支持(0) 反对(0) hexllo | 园豆:318 (菜鸟二级) | 2015-07-27 09:21

@hexllo: 大型网站不是一天能搭起来的,资料能给你的只是启发,解决方案还是要你自己考虑。

支持(0) 反对(0) liqipeng | 园豆:1160 (小虾三级) | 2015-07-27 21:16
0

很多文章讲过这个..楼上就是其中一个

吴瑞祥 | 园豆:29449 (高人七级) | 2015-07-26 11:36

这篇文章说得太笼统了..

支持(0) 反对(0) hexllo | 园豆:318 (菜鸟二级) | 2015-07-27 09:21
0

CDN加速,效果明显。

幻天芒 | 园豆:37207 (高人七级) | 2015-07-26 12:29
0

把你第三步省掉吧,最好是直接在客户端生成url了,然后请求图片,至于客户端的速度就全看你放图片的服务器的速度了,虽然据说js也会影响速度,但那个不是我们该考虑的了,呵呵。

MEZW | 园豆:108 (初学一级) | 2015-07-27 14:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册