在各个网站看相关的文章和解决策略,facebook和阿里的架构最受追捧, 可我们也很难做出像facebook的项目来.同时,资金投入上也不得不考虑.
在github上发现了一个比较优秀的图片处理程序: ZIMG, 功能和性能上都是令人眼前一亮的. 但是缺点也是显而易见的: 1,不支持分布式. 2, 安装使用上的困难. 3, 一些BUG. 不管如何我还是比较看好他,等以后成熟了会考虑采用的.
现在我就Nginx + MongoDB 的架构提出解决方案:
1, 采用独立图片服务器集群.
2, 每台图片服务器要绑定单独的域名.
3, 采用NFS共享方式.
4, WEB解析层使用Nginx (要主意libevhtp模块和gridFS模块).
5, 图像处理层用PHP + ImageMagic.
6, 存储层使用MongoDB + GridFS.
7, 缓存层使用 Memcached.
8, 参考: Redis, msg-list, squid.
方案2:
1, 使用 squid代理缓存服务器做前端加速.
2, 使用nginx解析.
3, 图片处理: PHP + ImageMagic.
4, 框架: phalcon.
5, 存储层使用Riak.
6, 底层是Leveldb