Spring Boot 启动加速实战:从 8 秒到 2 秒的 5 个优化点
引言 一个看似无关痛痒的数字,正在悄悄吃掉你们的效率: 我们的订单服务,单实例启动 8.2 秒。听起来还行?算笔账就知道了: 滚动发布:80 个实例,K8s 滚动窗口 25%,一次发布光等启动就要 8 分钟 弹性扩容:大促前扩 40 个实例,业务方在群里催了 5 分钟,实例还在 Starting K8s 健康检查:liveness 探针 6 秒超时,实例启动慢的节点被反复杀掉重建,发布雪崩 本地开发:改一行代码重启 8 秒,一天重启 50 次,一个多小时没了 启动时间不是"体验问题",是资源、发布效率和稳定性三重账单。 这篇文章把订单服务从 8.2 秒压到 2 秒出头的全过程拆成 5 个优化点:关闭多余自动配置 → 懒加载 → 缩小类扫描 → AOT 编译 → Undertow,每一步都给出实测的前后耗时对比和"什么场景该开什么"的判断。先放总成绩单(基线:Spring Boot 3.2、JDK 21、4C8G 容器、含 MyBatis/Redis/Kafka/RabbitMQ 全家桶): 优化点配置耗时变化适用场景 ① 关闭多余自动配置spring.autoconfigu....