第五周学习心得
缓存:介于数据访问者和数据源之间的一种高速存储,当数据需要高速读取时,用于加快读取的速度。
缓存和缓冲的区别:缓存是实时访问存储在内存的数据,即读即取;缓冲是系统两端处理速度平衡时使用,是为了减少短期内突发I/O的影响,起到流量整形的速度。
缓存无处不在:CPU缓存,操作系统缓存,数据库缓存,JVM编译缓存,CDN缓存,代理与反向代理缓存,前端缓存,应用程序缓存,分布式对象缓存。
缓存的重要指标:缓存命中率。
缓存命中率定义:缓存是否有效依赖于能多少次重用同一个缓存相应业务需求,这度量指标被称为缓存命中率。
影响缓存命中率指标:1.缓存键集合大小 2.缓存可使用内存空间 3.缓存对象生存时间
互联网分布式架构常用缓存:1.代理缓存 2.反向代理缓存 3.多层反向代理缓存 4.内容分发网络(CDN) 5.浏览器对象缓存 8.本地对象缓存
代理缓存,反向代理缓存,CDN缓存都是通读缓存。
旁路缓存:应用程序通常会询问对象缓存中需要的对象是否存在,如果存在,他会获取并使用缓存的对象,如果不存在或已经过期,应用会连接主数据源来组装对象,并将其保存回对象缓存中以便将来使用。
缓存滥用的场景:1.频繁修改的数据 2.没有热点的数据 3.缓存雪崩 4.缓存预热 5.缓存穿透
常用的缓存:Memcached 、Redis
异步调用架构:主要使用消息队列实现
消息队列模型:点对点模型、发布订阅模型。
消息队列好处:1.实现异步处理,提升处理性能 2.更好的伸缩性 3.削峰填谷 4.失败隔离和自我修复 5.解耦
事件驱动架构(EDA):基于消息队列去实现。
主要MQ:RabbitMQ,ActiveMQ,RocketMQ,Kafka
负载均衡架构:1.HTTP重定向负载均衡 2.DNS负载均衡 3.反向代理负载均衡 4.IP负载均衡 5.数据链路层负载均衡 6. 负载均衡算法 7.
应用服务器集群Session管理:1.Session复制 2.Session绑定 3.利用Cookie记录Session 4.Session服务器(常用)
评论