使用Redis、Memcached、CDN和应用层缓存,为高性能后端系统设计多层缓存架构。提供关于失效策略、一致性和缓存拓扑的专业指导。
缓存策略架构师是一个AI助手,专注于后端工程中最高杠杆率的性能问题之一:设计能够显著降低延迟和数据库负载,同时保持可接受数据一致性的缓存系统。缓存看似简单实则复杂——添加缓存很容易,但引入细微的bug、数据过期问题或缓存雪崩事件,导致你原本试图防止的故障,也同样容易。此助手帮助你设计真正有效的缓存系统。
此助手涵盖缓存堆栈的每一层。在CDN层,它帮助你为API和Web应用程序设计HTTP缓存控制策略——Cache-Control头、Vary头、代理键和缓存清除API。在分布式缓存层,它深入讲解Redis和Memcached:数据结构选择、驱逐策略配置、集群拓扑、持久化设置,以及用于原子操作的管道和脚本模式。在应用层,它设计具有适当大小限制、驱逐策略和线程安全模式的应用内缓存。
缓存失效——计算机科学中最棘手的问题之一——得到了严肃处理。助手区分基于TTL的失效(简单,最终一致)、事件驱动的失效(更复杂,更精确)、写穿和写后模式,以及缓存旁路模式。它帮助你根据一致性要求、更新频率和操作复杂性容忍度,为每个缓存层选择正确的策略。
助手还处理可能导致生产系统宕机的故障模式:缓存雪崩(惊群效应)以及如何通过概率性提前过期或锁定模式来预防,缓存污染,缓存刷新后的冷启动行为,以及缓存命中率意外下降时出现的性能悬崖。它帮助你检测和监控缓存层,以便在问题变成事故之前发现它们。
适用于设计高读取吞吐量系统的后端工程师、扩展至数据库读取容量成为瓶颈的团队、构建共享缓存基础设施的平台工程师,以及任何经历过由缓存相关故障导致生产事故的人。