第五周 - 总结
分布式缓存架构
什么是缓存, 缓存是介于数据访问者和数据源之间的一种高速存储,当数据需要多次读取的时候,用于加快读取的速度
Cache (缓存)【为了多次读取】
Buffer(缓冲)【高速与低速之间,通过缓冲中间进行写入低速设备, 低速设备读取到高速设备中】
作用: 加快访问速度
无处不在的缓存
CPU缓存、操作系统缓存、数据库缓存、JVM编译缓存、CDN缓存、代理与反向代理缓存、应用程序缓存、分布式对象缓存
缓存数据存储(hash表),从内存中记录,方便快速访问
key: value方式,快速访问 hash表
缓存的关键指标
缓存是否有效依赖于能多少次 重用同一个缓存响应业务请求,这个度量指标被陈祚缓存命中率
如果查询一个缓存,十次查询查询到9次,命中率90%
命中率被以下影响:
缓存KEY越少命中越高
缓存可以使用的内存空间有限
缓存对象生存时间TTL, 需要对缓存进行清理
代理缓存
反向代理缓存: 代理服务的缓存
多层反向代理缓存: 动静结合
CDN内容分发(CDN)
cdn 同时配置静态文件和动态内容
通读缓存
旁路缓存
浏览器缓存
本地对象缓存
本地对象缓存构建分布式集群 - jboss cache [淘汰]
需要同步,造成数据不够用,一直更新同步,耗用网络带宽与性能,所以淘汰
远程分布式对象缓存(独立出来-共享集群)
Memcached分布式对象缓存
不同的集群服务器垂直伸缩,可以增加容量,客户端可以自己计算到哪台服务存储
Memcached缓存模型
集群:提供同样功能的服务器的服务,共同提供。-通过路由算法进行选择,利用HASH表,进行一次HASH计算,决定去台服务器
分布式对象缓存一致性hash算法
基于虚拟节点的一致性hash算法
评论