架构师训练营 2 期 - 第五周总结
概要
本周学习主要的内容是分布式缓存架构,消息队列与异步架构,负载均衡架构。
重点内容
1.分布式缓存架构
CDN 的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中。在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。应用场景:主要缓存静态资源,例如图片,视频。
反向代理位于应用服务器机房,处理所有对 Web 服务器的请求。如果用户请求的页面在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。如果没有缓冲则先向 Web 服务器发出请求,取回数据,本地缓存后再发送给用户。应用场景:一般只缓存体积较小静态文件资源,如 css、js、图片。
本地应用缓存是在应用中的缓存组件,其最大的优点是应用和 Cache 是在同一个进程内部,请求缓存非常快速,没有过多的网络开销等。应用场景:缓存字典等常用数据。
分布式缓存是与应用分离的缓存组件或服务,其最大的优点是自身就是一个独立的应用,与本地应用隔离,多个应用可直接的共享缓存。应用场景:缓存系统中频繁访问的热点数据。
常见的问题:
数据一致性
缓存穿透
缓存雪崩
缓存高可用
缓存热点
2.消息队列与异步架构
应用场景:异步处理,应用解耦,流量削锋,消息通讯。
消息队列系统,一般都包含 3 个角色:消息的生产者,消息队列,消息的消费者。
3.负载均衡架构
HTTP 重定向负载均衡
DNS 负载均衡
反向代理负载均衡
IP 负载均衡
数据链路层负载均衡
评论