热门推荐
Facebook图片存储系统Haystack——存小文件,本质上是将多个小文件合并为一个大文件来降低io次数,meta data里存偏移量
2025-01-01 22:12

架构比较简单,分为三部份:Haystack Directory, Haystack Cache, Haystack Store

Facebook图片存储系统Haystack——存小文件,本质上是将多个小文件合并为一个大文件来降低io次数,me<em></em>ta data里存偏移量

Directory: 即所谓的 meta Server

1. 生成 FID,维护 logical volume 与 physical volume 映射关系,解决上传时的负载均衡问题。

2. 新加入的 Store Server 要在这里注册。

3. 维护 logical volume 的 read-only 属性,只读的 logical volume 不再接受 upload 请求。

4. 决定请求走 CDN 还是内部 Haystack Cache Server.

Cache: 所谓的内部 CDN

1. 对图片 FID 采用一致性 hash 算法保存。

2. 只缓存用户请求,而不是来自 CDN 的请求。

3. 只缓存 write-enabled store 图片,由于上传的时间序,相当于只缓存最新生成的图片。比如说用户刚上传的图片,可能就会存到 Cache 中预热。

Store: 最终落地存储服务

1. 图片顺序追加到一个大文件中,内存中维护图片在文件中的 Offset 和 Size 的索引信息。

    以上就是本篇文章【Facebook图片存储系统Haystack——存小文件,本质上是将多个小文件合并为一个大文件来降低io次数,meta data里存偏移量】的全部内容了,欢迎阅览 ! 文章地址:http://keair.bhha.com.cn/quote/5946.html 
     动态      相关文章      文章      同类文章      热门文章      栏目首页      网站地图      返回首页 康宝晨移动站 http://keair.bhha.com.cn/mobile/ , 查看更多