架构师训练营第五周总结

用户头像
xs-geek
关注
发布于: 2020 年 10 月 25 日

缓存概念

介于数据访问者与数据源之间的一种高速存储,当数据需要多次读取的时候,用户加快读取速度。



区别与缓冲(Buffer):

缓存:系统两端处理速度不匹配时的一种折中策略

缓冲:减小短期内突发I/O的影响,起到流量整形的作用



性能优化:

技术简单

性能提升显著

应用场景多

常见各类缓存

CPU缓存

操作系统缓存

数据库缓存

JVM编译缓存



CDN缓存

代理与反向代理缓存

前端缓存

应用程序缓存

分布式对象缓存:Memcached,redis



通读缓存

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

  • 客户端连接通读缓存而不是原始服务器

代理缓存,反向代理缓存,CDH缓存

旁路缓存

判断是否存在,会连接原始服务器

对象缓存

缓存关键指标

缓存命中率

影响因素

缓存key集合大小:生成的唯一key越多,重用机会越少

缓存可使用内存空间:高速存储相对昂贵,能存储的对象越多,命中率就越高

缓存对象生存时间:TTL,对象缓存时间越长,缓存对象被重用的可能性就越高



缓存性能提升原因

  • 更快的访问速度

  • 不需要中间计算,减少CPU资源消耗

  • 降低数据库、磁盘、网络的负载压力,使I/O设备获得更好的响应特性。

如何合理使用

不适合场景

频繁修改的数据

没有热点的访问

数据不一致与脏读

注意

缓存雪崩

缓存预热

缓存穿透

消息队列与异步架构

消息生产者,消息队列,消息消费者



常用模型

点对点模型

发布订阅模型



消息队列好处

实现异步处理,提升处理性能

更好的伸缩性

削峰填谷

失败隔离和自我修复

解耦

负载均衡

HTTP重定向负载均衡

DNS负载均衡

反向代理负载均衡

IP负载均衡

数据链路层负载均衡



负载均衡算法

轮询

加权轮询

随机

最少连接

源地址散列



应用服务器集群的session管理

session复制

session绑定

利用cookie记录session

session服务器

发布于: 2020 年 10 月 25 日 阅读数: 8
用户头像

xs-geek

关注

还未添加个人签名 2018.04.22 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第五周总结