会员登录 | 会员注册 | 意见建议 | 网站地图

站长资源综合门户

当前位置:首页 > 站长学院 > 建站经验 > Facebook图片存储架构的学习

Facebook图片存储架构的学习

时间:2012-04-30 18:32:00   作者:   来源:   点击:

照片存储的读操作

传递给一个读操作的参包含Haystack ID,照片的 Key, 尺寸以及 Cookie。办事器事先在缓存中依照照片的Key和所需文件的偏移进行查找。如果找到了它,并向haystack发出读取词图像的请求。依照上面说的,haystack的删除操作其实不更新它的索引记实,因此添加到内存中的索引可以包含以前删除的照片的内容。当阅读以前的删除的照片失败后,系统将在内存的索引中色绘制词图片的偏移量为0.

照片存储的删除操作

通知 Haystack 执行删除操作之后,内存中的索引缓存会被更新,将偏移量设置为0,暗示照片已被删除。

重新整理(压缩)

重新整理(压缩)是一种收受领受删除和重复的针(针使用相同的Key)的在线操作。它会通过复制针跳过任何重复或删除的条目成立一个新的haystack。一旦此操作完成它就归去替换失落内存中的文件和布局。

HTTP 办事器

Http 框架使用的是简单的基于开源的libevent库的 evhttp 办事器。使用多线程,每个线程都可以伶仃措置一个 HTTP 请求。因为我们的系统消耗年夜多是I/O操作,HTTP办事器的性能其实不很重要。

结束语

Haystack 是一个基于 HTTP 的对象存储,包含指向实体数据的指针,该架构消除文件系统元数据的开消,并实现将全部索引直接存储到缓存,以最小的 I/O 操作实现对比片的存储和读取。

本文编译自:标点符,原文地址。

分享到:

网友评论

热门建站经验