总结 -05- 缓存

用户头像
梦子说
关注
发布于: 2020 年 07 月 08 日

缓存的关键指标

缓存命中率

缓存是否有效依赖于能多少次重用同一个缓存影响业务请求,这个度量指标被称为缓存命中率。

如果查询一个缓存,十次查询九次能够得到正确结果,那么它的命中率是90%。

影响缓存命中率的主要指标

缓存键大小

缓存可使用内存空间

缓存对象生成空间

缓存类型

代理缓存

反向代理缓存

多层反向代理缓存

内容分发网络(CDN)

CDN同时配置静态文件和动态内容

通读缓存(read-through)

代理缓存,反向代理缓存,CDN都是通读缓存

通读缓存给客户端返回缓存资源,并在请求未命中缓存时获取实际数据

客户端链接的是通读缓存而不是生成响应的原始服务器

旁路缓存(cache-aside)

对象缓存是一种旁路缓存,旁路缓存通常是一个独立的键值对存储

应用代码通常会询问对象换粗需要的对象是否存在,如果存在,它会获取并使用缓存的对象,如果不存在或已过期,应用汇链接主数据源来组装对象,并将其保存回对象缓存中以便将来使用

浏览器对象缓存

本地对象缓存

对象直接缓存在应用程序中

对象存储在共享内存中,同一台机器的多个进程可以访问它们

缓存服务器作为独立应用和应用程序部署在同一个服务器上

本地对象缓存构建发呢不是集群

远程分布式对象缓存

Memcached分布式缓存对象缓存



Memcached分布式缓存访问模型



分布式对象缓存的一致性hash算法



只是不求多,但求对掌握的知识掌握它的核心

学技术不仅学技术本身,更要学会技术背后的思想,学会技术的架构

 

消息队列、异步架构

队列:发布订阅模型、发布订阅模式(常用)

消息队列——提高写的性能,削峰填谷,失败隔离和自我修复,解耦

缓存——提高读的性能

 

负载均衡架构

请求如何分发

Http重定向负载均衡:性能(二次http)、安全(暴露ip)

DNS负载均衡:大型网站使用(淘宝),dns解析出来的负载均衡服务器的ip

反向代理负载均衡:小型公司使用,最多几十台服务器,因为反向代理服务器使用http协议,先拿到http请求、响应包才能继续下一步,包可能比较大(可能几M),如果并发高,请求会堆积;7层协议而

IP负载均衡:4层协议,不需要解析http包,只修改tcp包中的ip;性能不会成为瓶颈,响应出口带宽成为瓶颈

数据链路程负载均衡:大型网站使用,IP负载均衡改版(修改mac地址,服务器匹配mac地址),响应直接返回给客户端,不经过负载均衡服务器

 

Session复制:仅适应少量服务器,为什么用集群,就是为了提高并发处理能力,并发量多的话服务器压力大,会压垮服务器

Session绑定:相同的请求访问同一台服务器,hash绑定,单点故障

利用cookie记录session:每次请求带上cookie,增加了网络开销;客户端可能清理cookie

Session服务器:redis

 

数据库集群

MySql复制:从数据库不要同步alert,不然表会锁住;从服务器不要写数据

MySql一主多从复制:分摊负载、专机专用、便于冷备、高可用

MySql主主复制:不能同时向两个服务器写数据,导致数据冲突

MySql主主失效回复

Mysql复制注意事项:

1、主主复制的两个数据库不能并发写入

2、复制只是增加了数据的读取并发处理能力,没有增加写并发能力和存储能力

3、更新表结构会导致巨大的同步延迟

4、主主、主从并没有解决存储能力



用户头像

梦子说

关注

还未添加个人签名 2018.12.01 加入

还未添加个人简介

评论

发布
暂无评论
总结-05-缓存