成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼
最全Facebook图片存储架构技术
旧的相片根底架构包括几个条理:
◆上传层接纳用户上传的相片,测量原始图像的巨细并将其保管到NFS存储层。
◆相片效劳层接纳HTTP相片恳求,并向用户供应保管于NFS存储层的相片。

◆NFS存储层树立于贸易存储设备之上。
因为每个图像存储在本人的文件内,所以依据定名空间目次和文件inode(内节点),在存储层发生了很多的元数据。这些元数据量远远超越了NFS存储层的缓存才能,招致了上传和读取每张相片时成倍的I/O操作。整个相片效劳的根底架构因为NFS存储层的很多元数据负荷而成为了一个瓶颈,这就是Facebook严峻依靠CDNs来供应相片效劳的缘由之一。以下两个附加的优化摆设,用来在必然水平上减轻这个问题:
Cachr :一个缓存效劳层,用来缓存Facebook中较小的“小我材料”图像。
NFS文件句柄缓存——摆设在相片效劳层,消弭了一些NFS存储级元数据负荷
Haystack相片根底架构
新的相片根底架构将相片效劳层和存储层兼并为一个物理层。它完成了一个基于HTTP的相片效劳器,把相片存储在名为Haystack的通用对象中。关于新条理的首要要求是消弭任何相片读取操作的不用要的元数据开支,使每个读取I/O操作只是读取实践相片数据(而不是文件系统元数据)。Haystack可划分为以下一些功用层-
◆HTTP效劳器
◆相片存储
◆Haystack对象存储
◆文件系统
◆存储设备
以下各节中,我们会自底向上亲密存眷每一个功用层。
存储设备
Haystack摆设于日常存储片之上。一个2U存储片的典型硬件装备的是-
◆2 x 4核CPUs
◆16GB – 32GB内存
◆具有256MB – 512MB NVRAM缓存的硬件RAID节制器
◆12+ 1TB SATA驱动器
每个存储片供应大约10TB的可用空间,装备为一个RAID-6分区,由硬件RAID节制器进行治理。RAID 6供应了足够的冗余性和超卓的读取功能,可以降低存储本钱。RAID节制器NVRAM回写高速缓存可以局部缓解低质的写功能。因为读取大多是随机的,所以NVRAM缓存完全保存给写操作。磁盘高速缓存被禁用,以包管在系统解体或电源断电时数据的一致性。

