Scaling Memcache At Facebook

1.需求/特点

需求:
特点:读多写少

2.综述

使用旁路更新

Region级别的主从复制:Region包含多个前端集群,本身可能时跨机房的

在系统的发展中,我们将这两个重大的设计目标放在首位: 

1. 只有已经对用户或者我们的运维产生影响的问题,才值得改变。我们极少考虑范围有限的优化。 

2. 对陈旧数据的瞬态读取,其概率和响应度类似,都将作为参数来调整。我们会暴露轻度陈旧的数据以便后台存储和高强度负载绝缘。

集群中:负载和延时

延时:主要优化client:串行化、压缩、请求路由、错误处理以及请求批处理,客户端维护着一个对所以可获得的服务器的映射,对这个映射表的更新需要通过一个辅助的配置系统。 

   批量并行请求:

使用代理处理映射关系

拥塞控制:滑动窗口

减少负载:同一个key miss时,使用token,确保同时已有一个client 更新

局部失败:备用机器接管服务

Region:复制

失效:批量失效
  缓存的范围:每个cluster和Region中是否需要缓存,主要考虑数据的特点
  冷集群的加载:复制其他集群数据

跨地区一致性

主region写:守护进程失效,前端更新

非主region写:标记可能失效,读到主region,写到主region写,依赖于数据库同步完成时的commitlog失效数据

单个服务器提升

  提前分配资源:固定大小的hash

slab:

尽快回收资源:临时条目


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值