架构实战营 模块五:学习总结
常见缓存:
cpu l1/l2/l3 cache
linux 文件系统 page cache
innodb buffer pool
redis、memcached
常见缓冲:
IO 读写
mysql log buffer
消息队列缓冲写请求
innodb buffer pool
多级缓存架构:
客户端缓存(app、web) -> cdn -> web 容器 -> 应用缓存(进程内缓存、进程外缓存、ssd 缓存) -> 分布式缓存(数据库、对象存储、文件存储)
接口高可用整体架构
雪崩效应:请求量超过系统处理能力后导致系统性能螺旋快速下降。(解决:限流、排队)
链式效应:某个故障引起后续一连串的故障。(解决:熔断、降级)
1.限流
请求端限流:发起请求的时候就进行限流,被限流的请求实际上并没有发给后端服务器
接入端限流:接到业务请求的时候进行限流,避免业务请求进入实际的业务处理流程
服务限流:单个服务的自我保护措施,处理能力不够的时候丢弃新的请求
2.排队
收到请求后并不同步处理,而是将请求放入队列,系统根据能力异步处理。
技术本质:请求缓存+ 同步改异步 + 请求端轮询。
3.降级
基本原理:直接停用某个接口或者 url,收到请求后直接返回错误(例如 HTTP 503)。
4.熔断
基本原理:下游接口故障的时候,一定时期内不再调用。
应用场景:服务自我保护,防止故障链式效应。
评论