实时图片处理系统架构设计与实现 |
发布: 2013-06-28 23:08 |
1) 需求 对于当前的互联网,图片的应用非常广泛。 无论从基本的论坛到SNS,从B2B到B2C的电商网站, 或者到纯图片浏览网站,都离不开图片这种传达信息丰富的媒介。 2) 功能特征 对于这些需求作整理,一般要求对图片做水印、缩略图、裁切、滤镜等功能。 3)原理 实时处理图片,只记录原图,请求来到之后根据参数处理为所需的效果图片。 无/微配置系统,把处理参数直接放在url中,由系统解析URL,提取处理参数。 原图安全,对于原图的访问,根据图片的文件名添加签名信息和token信息。 多样化存储后端,可以使用磁盘目录hash存储,或者使用分面式文件系统存储。 不同规模配置,对于小、中、大、超大规模图片处理的支持,使用不同的后端配置,运行于不同的规模模式。 结果缓存,对于已经处理完成的效果图片,使用静态缓存提高速度,减小实时处理的CPU压力。 url唯一化,对于带无用的、多余的参数的情况,作重定向到整理过的正规的唯一地址上。 4)架构 NAMP + haproxy + squid 网络结构: haproxy --> squid1/squid2/squidxxx --> Nginx-PHP1/Nginx-PHP2/Nginx-PHPxxx-->MySQL | ------------------------------ | | disk1/disk2/diskxxx fastdfs 5)相关技术 opencv gmagick |
原文: http://qtchina.tk/?q=node/733 |
Powered by zexport
|