Chinaunix

标题: 海量图片存储服务的架构,大家看看行不行! [打印本页]

作者: tianxueer    时间: 2010-03-26 20:25
标题: 海量图片存储服务的架构,大家看看行不行!
没什么经验,纯粹平空暇想,欢迎大家指导!

1、存储模块:图片的实际存放地。一台服务器为一个节点,可随时扩充。硬盘SATA,要多。单个服务器容量要若干TB。每个图片在三台不同的节点存储,互为备份;
2、数据库模块:记录每个用户的每个图片的信息,如存储在哪三个节点的什么位置等等;
3、缓存模块:也是实际提供服务的机器,服务器性能高。缓存最新上传和最新访问的图片。

用户访问流程:
首先负载均衡到某一缓存模块的机器,
a、该缓存服务器判断图片是否在本缓存,如果在,则传送图片;
b、如果不在,则请求数据库模块,看是否在其他缓存机器,如果在,则获取图片,并传送;
c、如果也不再其他缓存模块,则从数据库模块获得该图片的三个储存节点中的一个,获取此图片,并缓存,然后传送。

大概就是这个思路,主要就是用廉价并且有大容量存储的机器储存数据,然后用高性能的缓存服务器,缓存最有可能被访问到的图片。
不知道典型的图片存储架构是什么样的?
作者: distliu    时间: 2010-03-27 10:08
建议你用云存储作为海量图片存储平台,云存储平台有moosefs,国内厂家天津火星有也推出了火星云存储文件系统。如果有图片迁移归档的需求,例如需要将不经常使用的图片转存到带库上,可以用火星的数据归档管理软件
作者: happy_fish100    时间: 2010-03-27 14:06
回复 2# distliu

可以采用比较成熟的开源分布式文件系统,比如FastDFS。LZ可以了解一下。
作者: tianxueer    时间: 2010-03-27 14:31
楼上两位不错,学习了!
happy_fish100牛啊!
作者: spook    时间: 2010-03-27 21:16
你这个东西,和一家公司的PACS一样……

你要是有100G的在线数据3台服务器你就要300G的存储空间……

你要是有 2TB 的数据 5台服务器 你就要10TB的存储空间……

这在2~3年前是不可想象的%……:mrgreen::mrgreen:


你可以查一下 IBM XIV的资料……




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2