第五周·总结
![第五周·总结](https://static001.geekbang.org/infoq/a2/a23aa7fe476d8ae4a07954554f9d10c4.jpeg)
1.Cache与Buffer的区别
Cache:用于读操作
Buffer:用于写操作
2.缓存的关键指标-命中率
命中率:缓存是否有效依赖于能多次重用同一个缓存响应业务请求。
影响缓存命中率的重要指标
(1) 缓存键集合大小
(2) 缓存可使用内存空间
(3) 缓存对象生存时间
3.read-through与cache-aside
(1) read-through
通读缓存给客户端返回缓存资源,并在请求未命中时,获取实际数据,并将实际数据返回缓存,客户再通过缓存获取数据
(2) cache-aside
再读缓存未命中时,直接通过主数据源获取缓存
4.各种介质数据访问延迟数据
![](https://static001.geekbang.org/infoq/f8/f88ffd0916da82bda6c651090acc7d41.png)
5.技术栈各层次的缓存效果
![](https://static001.geekbang.org/infoq/91/9156859b12e5e1eaa5d5b5fdfb9aa092.png)
6.Redis
Redis:支持复杂的数据结构、支持多路复用异步I/O高性能、支持主从复制高可用、原生集群与share nothing集群模式
7.同步调用 vs 异步调用
同步调用:所有调用都需要等待前一步的结果。
异步调用:只处理发出的请求,无需等待请求结果,不阻塞应用县城。
8.消息队列-点对点模型
1个消息对应1个消费者
9.消息队列-发布订阅模型
1个消息对应多个消费者
10.消息队列好处
实现异步处理,提升处理性能
更好的伸缩性
削峰填谷
失败隔离和自我修复
11.负载均衡
(1) HTTP重定向负载均衡
DNS负载均衡
反向代理负载均衡
IP负载均衡(TCP/IP层)
数据链路层负载均衡(链路层)
评论