背景

SpringBoot单体应用随随便便就占用1G内存了。考虑切换到golang语言,但以前很多代码都得修改成golang版的,不如还使用java语言,测试了micronaut/quarkus/javalin/helidon,最终决定使用quarkus。

切换

todo

结果

原来SpringBoot占用1g多内存,现在quarkus只占不到250M。
SpringBoot启动时间45秒,quarkus仅6秒。

启示

编写代码时不要仅使用Spring提供的注解如@Autowired,可考虑使用java规范中的@jakarta.inject.Inject。这样以后编写的代码可以在Spring和quarkus均可运行的话,可以快速测试两个框架的性能。