架构师课程第五周总结

用户头像
dongge
关注
发布于: 2020 年 07 月 08 日
架构师课程第五周总结

这周的主题是缓存、异步和负载均衡。

对应解决的问题是高并发、可扩展。

缓存

缓存无处不在。缓存可以分为本地缓存和分布式缓存。

本地缓存有 CPU 缓存、操作系统缓存、数据库缓存、JVM 缓存。



分布式缓存有 CDN 缓存、代理和反向代理缓存、前端缓存、应用程序缓存、分布式对象缓存。



缓存的关键指标是缓存命中率。影响缓存命中率的主要指标有:

  • 缓存键集合大小

  • 缓存可使用的内存空间

  • 缓存对象的生存时间



缓存键集合大小的关键点是一定要想办法减少可能的缓存键数量

缓存对象越多,缓存命中率越高。

缓存的生存时间越长,被重用的可能性就越高。



代理缓存、反向代理缓存、CDN 缓存多是通读缓存。

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

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



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

应用代码通常会询问对象缓存是否存在,不存在则去访问对象来源获取。



分布式集群的可以使用本地对象缓存构建,也可以通过远程分布式对象缓存。



缓存产生的实质需求其实就是各种介质的读取差异性太大。下图描述了各种介质数据访问延迟:



在使用缓存的过程中,最重要的是把各种工具当缓存用,不要被各种奇技淫巧迷惑,把事情搞复杂。

异步

架构上的异步主要是通过消息中间件实现。

兼具更好的性能、更好伸缩性、削峰填谷、失败隔离和自我修复、解藕的功能。





负载均衡



负载均衡的架构有典型的负载均衡架构、HTTP 重定向负载均衡、DNS 负载均衡、反向代理负载均衡、IP 负载均衡、数据链路负载均衡。



典型的负载均衡架构



HTTP 重定向负载均衡





DNS 负载均衡





反向代理负载均衡





IP 负载均衡





数据链路负载均衡





用户头像

dongge

关注

还未添加个人签名 2017.10.19 加入

还未添加个人简介

评论

发布
暂无评论
架构师课程第五周总结