第五周 - 总结
分布式缓存架构
什么是缓存, 缓存是介于数据访问者和数据源之间的一种高速存储,当数据需要多次读取的时候,用于加快读取的速度
Cache (缓存)【为了多次读取】
Buffer(缓冲)【高速与低速之间,通过缓冲中间进行写入低速设备, 低速设备读取到高速设备中】
作用: 加快访问速度
无处不在的缓存
CPU缓存、操作系统缓存、数据库缓存、JVM编译缓存、CDN缓存、代理与反向代理缓存、应用程序缓存、分布式对象缓存
缓存数据存储(hash表),从内存中记录,方便快速访问
key: value方式,快速访问 hash表
![](https://static001.geekbang.org/infoq/57/57fec832bf3ac87258bc4ebf134f2881.png)
缓存的关键指标
缓存是否有效依赖于能多少次 重用同一个缓存响应业务请求,这个度量指标被陈祚缓存命中率
如果查询一个缓存,十次查询查询到9次,命中率90%
命中率被以下影响:
缓存KEY越少命中越高
缓存可以使用的内存空间有限
缓存对象生存时间TTL, 需要对缓存进行清理
代理缓存
![](https://static001.geekbang.org/infoq/67/67df89c9ac4703629c71d9ba64536942.png)
反向代理缓存: 代理服务的缓存
![](https://static001.geekbang.org/infoq/f9/f9d1a70b888169dac1b9f1c79bd0eeb1.png)
多层反向代理缓存: 动静结合
![](https://static001.geekbang.org/infoq/f4/f40a9a4c54d7d26082d4867f7039b287.png)
CDN内容分发(CDN)
![](https://static001.geekbang.org/infoq/84/84ea81fbd3239a5de34592277cbfcf56.png)
cdn 同时配置静态文件和动态内容
![](https://static001.geekbang.org/infoq/d4/d4bffd86df52f1f065fe9e52f244f535.png)
通读缓存
![](https://static001.geekbang.org/infoq/a3/a3a9b5cb9dd56a9ff309319515cbaa40.png)
旁路缓存
![](https://static001.geekbang.org/infoq/df/df9a2021a4873948633905e3d52f5c9a.png)
浏览器缓存
![](https://static001.geekbang.org/infoq/b7/b7ae9911000b38d528ab0cddbbf7b945.png)
本地对象缓存
![](https://static001.geekbang.org/infoq/71/716c5e995821c31165857251639d63cb.png)
本地对象缓存构建分布式集群 - jboss cache [淘汰]
需要同步,造成数据不够用,一直更新同步,耗用网络带宽与性能,所以淘汰
![](https://static001.geekbang.org/infoq/2e/2e44924f9e1fab3be7c2f8409649da2e.png)
远程分布式对象缓存(独立出来-共享集群)
![](https://static001.geekbang.org/infoq/7a/7a37ff1688263705886a58de24ae386f.png)
Memcached分布式对象缓存
不同的集群服务器垂直伸缩,可以增加容量,客户端可以自己计算到哪台服务存储
![](https://static001.geekbang.org/infoq/55/55d7740cb3777130c66ea1cfed97b7a0.png)
Memcached缓存模型
集群:提供同样功能的服务器的服务,共同提供。-通过路由算法进行选择,利用HASH表,进行一次HASH计算,决定去台服务器
![](https://static001.geekbang.org/infoq/5e/5e394fa85c03b66fe485bd5ea8411144.png)
分布式对象缓存一致性hash算法
![](https://static001.geekbang.org/infoq/64/64960ddcd743add46c825c61402a78a0.png)
基于虚拟节点的一致性hash算法
![](https://static001.geekbang.org/infoq/94/94d036dca6f7d49d0c0076ef9ce5dbd3.png)
![](https://static001.geekbang.org/infoq/91/9137735d76993e0cda1f78d5e155f384.png)
![](https://static001.geekbang.org/infoq/0c/0cf663c89ab0276645c8ab672fd2f013.png)
![](https://static001.geekbang.org/infoq/0d/0d328e9840bcfd6de44106b2982a0d74.png)
![](https://static001.geekbang.org/infoq/40/40a76117af1e538b08d724eb1a566e66.png)
![](https://static001.geekbang.org/infoq/8f/8fa7702d4913848fe8f45a42af80b5ef.png)
![](https://static001.geekbang.org/infoq/a5/a521dffb245583cc5815108fdca47e31.png)
![](https://static001.geekbang.org/infoq/c2/c2dc2c4904dd7a25e7aecb797eef4697.png)
评论