Scaling Memcache at Facebook论文阅读笔记

本文介绍了Facebook如何应对Memcache在大规模场景下的挑战,包括通过Mcrouter缓解延迟和负载问题,采用租约机制解决并发一致性问题,以及跨区域的数据一致性策略。Mcrouter通过序列化、压缩和智能路由减少网络压力,而租约机制则有效防止了stale sets和thundering herds。此外,Facebook还根据key的特性设计了不同大小的Memcache缓存池,优化了数据备份和失效策略。
摘要由CSDN通过智能技术生成

Memcache简介

  • 分布式的内存对象缓存系统,被称为a demand-filled look-aside cache.
  • 通常作为数据库的前端使用,减小数据库的负载,提高性能
    • 在Facebook中,read request约占99.8%,而write request只占了约0.2%,使用Memcache正是为了解决这一问题。
  • Memcache的基本操作分为两种:
    • Query Cache:先从Memcache中读取,如果出现read miss,则从MySQL数据库中读取,并且把内容写入cache。
    • Update Cache:先update MySQL数据库,然后在cache中删除(采用delete操作,是因为delete是幂等操作,可以防止并发写带来的数据不一致性)
    • Memcache运行图

文章分析

  • In a Cluster
    • 需要解决的两个问题:Latency and Load
    • Latency
      1. 开源的Memcache系统是web server与Memcache服务器直接通信的,这样的话,当client发起大量读请求的时候&#x
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值