海量图片存储策略

28 篇文章 1 订阅

一、常规图片存储策略

常规的一般400G以下的图片存储可以采用比较传统的分目录的形式

例如目录层级为  年份/行业属性/月份/日期/用户属性

有几个比较重要的原则就是

1、单个目录下的文件个数不要超过2000个,多了寻址较慢,你在linux下ls就能看到数量太多的时候的效果了

2、目录层级结构不要太深,这样服务器处理寻址较慢


二、海量图片存储策略

1、核心难点

(1)海量的意思就是图片的数量级别是上亿--光是我们建立索引就玩不转,没那么牛的库存储

(2)图片总大小是按照T计算的--单个节点肯定支持不了

(3)图片访问很容易有长尾效应--就是没有所谓的热点


2、解决方案

(1)、存储方案

采用分布式随即的方式将一些小文件存放到分布式集群环境中,用hash的方式来记录位置(一般是先hash,然后确认存储位置)。将位置直接作为文件名称

 计算哈希的常见方法: hash(key)%n  =》大致的物理位置

分布式存储常见方案:hdfs,tfs....

(2)、访问方案(假设我们用apache)

硬访问

直接让apache根据文件名字找到指定文件存放位置,读取文件流

软访问:

直接用apache的rewrite这个功能,将文件读取




  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值