MIT6.824 Memcache

目的:由于二八定律的存在,总是少数人在创造内容而大部分人在消费内容,所以脸书的请求的大头是读求取,因此脸书的工程师需要对读请求进行特别的优化。利用缓存来减低数据库的读压力。

读写操作示意图

MIT6.824 Memcache_第1张图片

MIT6.824 Memcache_第2张图片 减少延迟

1.利用批处理减少往返次数。 服务器端对收到的一堆请求进行有向拓扑图分析,选出独立的请求,将多个独立请求进行打包,进行访问。Batching也是降低成本的常见技巧

2.其中get是使用UDP进行通讯,只要set和delete才是使用可靠的TCP通讯。UDP的通讯成本显著低于TCP,因为UDP不需要提前建立连接,也没有诸如拥塞控制,重连等机制。失败的UDP通讯被当成Cache miss来对待,对应的数据请求会重新传达给数据库

3.为了避免整个系统内进行的并发请求数过高,以及单个的实例可能成为热点,Memcache自己在连接的客户端上设置了类似TCP的拥塞控制的方法,也就是一个滑动窗口。

后面懒得记录了,看下面的阅读笔记。。。

参考资料:

阅读笔记:Scaling Memcache at Facebook - 知乎  

                

你可能感兴趣的:(MIT,6.824学习记录,memcached,网络,数据库)