压缩优化

图片压缩不是在上线前随手调一个质量参数,而是图片系统的核心收益点:它直接影响首屏速度、CDN 带宽、移动端流量、缓存命中率和用户留存。一个生产级图片平台需要在“看起来足够好”和“传输足够小”之间建立可解释、可回滚、可度量的策略。

这一章会从原图入库后的异步处理链路开始,拆解无损压缩、有损压缩、格式转换和多尺寸派生图的职责边界。你会看到为什么 PNG、JPEG、WebP、AVIF 适合不同场景,为什么头像、商品图、长图、动图不能套用同一套参数,以及为什么压缩服务必须记录原始尺寸、目标格式、质量因子、处理耗时和输出体积。

课程会把压缩优化放回系统设计语境中:上传链路只保证原图安全落盘,压缩链路通过消息队列异步消费,处理结果写回元数据表,CDN 只分发已经确认可用的派生版本。当压缩失败、格式不被客户端支持、输出质量低于阈值时,系统要能降级到原图或上一版稳定派生图,而不是让图片请求直接失败。

完成本章后,你应当能够回答三个工程问题:如何为不同业务场景选择压缩策略,如何设计可扩展的图片处理任务模型,以及如何用体积下降率、清晰度抽检、处理延迟和失败率来判断压缩系统是否真的有效。

学习时可以把压缩链路当成一个独立子系统来验收:输入必须可追溯,输出必须可复用,策略必须可配置,异常必须可恢复。只有满足这些条件,压缩优化才不会随着业务增长变成一堆难以解释的脚本和临时参数。

章节