爲何要從安逸的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的最大優點,快速部署和啓動對於高用戶量的應用仍是頗有幫助的。開發