6.824 2020 Lecture 16: Scaling Memcache at Facebook

参见:https://pdos.csail.mit.edu/6.824/notes/l-memcached.txt

网站架构

FE 前端web服务器(无状态的,所以很简单)

cache 中间memcached

DB 数据库 (西海岸是主数据库,数据只有一份,没有replication。后来增加了东海岸机房,作为从数据库。所有的都走主数据库。)

《Scaling Memcache at Facebook》主要讲的就是中间这个cache层怎么设计。

目标

  1. 为数据库挡下绝大多数的操作。
    网站的读操作远远多于写。
    数据库主要是应付所有的写操作,读操作比写操作多得多得多,如果读都到数据库去读,数据库会撑不住。
    而memcached数据是在内存,所以相同的硬件能比DB应付更多的请求。
  2. 一致性要求。要求最终一致性,数据更新后,用户可以读到几秒钟前的过时的数据,但是最终用户总能读到正确的版本。
    但是有一种情况不可接受,就是数据库的数据更新后,缓存永久性地错过这个更新,非要等到下一次用户再写,缓存才会改变。这不能接受。
  3. 防止数据库被客户端请求挤爆是一个要求。另一个要求是防止路由器被挤爆,出现in-cast的情况。

memcached集群

  1. 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值