Week 05 总结

缓存的各种形式表现
CPU 缓存
操作系统缓存
数据库缓存
JVM编译缓存
CDN缓存
代理与反向代理缓存
应用程序缓存
分布式对象缓存
缓存的关键指标
缓存命中率
缓存命中率的主要指标
缓存键集合的大小:键的数量越少,缓存的效率越高
缓存可使用内存空间: 空间越大,保留的缓存数据就越多,命中率越高
缓存对象生存时间:对象缓存的时间越长,缓存对象被重用的可能性越高
缓存的类型
代理缓存
反向代理缓存
多层反向代理缓存
内容分发网络(CDN)
CDN同时配置静态文件和动态内容
通读缓存
旁路缓存
浏览器对象缓存
本地对象缓存
本地对象缓存构建分布式集群
远程分布式对象缓存
Memcached分布式对象缓存
分布式对象缓存的一致性
hash算法
基于虚拟节点的一致性hash算法
技术栈各个层次的缓存

缓存是系统性能
技术简单
性能提升显著
应用场景多
消息队列构建异步调用架构
消息生产者
消息队列
消息消费者

点对点模型

发布订阅模型

消息队列的好处
实现异步处理,提升处理性能
更好的伸缩性
削峰填谷
失败隔离和自我修复
解耦
负载均衡架构
HTTP 重定向负载均衡
DNS负载均衡
反向代理负载均衡
IP负载均衡
数据链路负载均衡
负载均衡算法
轮询
加权轮询
随机
最小连接
原地址散列
一主多从复制的优点
分摊负载
专机专用
便于冷备
高可用
数据分片挑战
需要大量额外代码,处理逻辑因此变得更加复杂
无法执行多分片的联合查询
无法使用数据库的事务
随着数据的增长,如何增加更多的服务器
CAP原理
C:一致性
A:可用性
P:分区耐受性
评论