Quarkus框架入門之三:Quarkus與Spring Boot啟動效能對比
阿新 • • 發佈:2019-05-19
開篇
為什麼要從安逸的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的最大優勢,快速部署和啟動對於高使用者量的應用還