知识卡片
Cache Tiering的重定向代理与提升
内容
Cache Tiering用固态硬盘存储池当热数据缓存层,慢速存储池当冷数据后端,两层对客户端完全透明。缓存未命中时有三种处理方式:重定向是缓存层直接告诉客户端”去后端拿”,客户端要自己再发一次请求;代理是缓存层替客户端向后端取数据、转发给客户端,但取回的数据不会留在缓存里,下次访问仍要重新代理;提升则是把数据从后端搬到缓存层再处理请求,之后这份数据会留在缓存里加速后续访问。三者的核心差异是”这次未命中之后,数据会不会被记住”——重定向把决定权完全交还客户端,代理帮了忙但不留痕迹,提升才是真正意义上的缓存学习。发散:同一个”缓存未命中”事件可以有完全不同的处理深度,选择哪种取决于这份数据未来被再次访问的概率有多大,对偶发冷数据用代理更划算,对可能转热的数据才值得提升。
参考来源
《Linux开源存储全栈详解从Ceph到容器存储》第7章《分布式存储与Ceph》