为何要从安逸的Spring全家桶切换到Quarkus框架呢?Quarkus有什么优点?除了可以编译成Native Application外,还有什么值得咱们使用它的吗? Spring启动优化是个大难题,有专门出书写Spring启动优化的,特别是启动是的Bean扫描,当应用达到必定规模后,启动很是慢,通常开发人员又不太敢屏蔽一些Bean的初始化(谁知道会致使什么未知问题)。 Quarkus的一大优点就是快速启动,本文经过一个简单的应用对比如下传统Spring Boot项目与Quarkus项目的应用启动速度。框架
首先,本文是对应一个简单的Restful服务进行启动时间对比,并非实际真实项目,数据仅供参考。优化
项目 | Spring Boot | Quarkus |
---|---|---|
API | 10个 | 10个 |
Service | 10个 | 10个 |
Service Implement | 10个 | 10个 |
打包方式 | Jar | Native |
Spring Boot | Quarkus | |
---|---|---|
第一次 | 3.664s | 0.015s |
第二次 | 3.655s | 0.007s |
第三次 | 3.338s | 0.009s |
平均 | 3.552s | 0.010s |
经过以上简单对比,Quarkus打包成Native应用后启动速度对比传统Spring Boot的Jar部署方式,启动速度有很明显的提高。我的感受这个是Quarkus的最大优点,快速部署和启动对于高用户量的应用仍是颇有帮助的。开发