Quarkus vs. SpringBoot - Reddit
1、Quarkus是很好,但是 Spring Native 出現時,人們空i不願意學習完整的其他堆疊。
GraalVM的一個人昨天在一次會議上: Spring Native 甚至會包含在下一個主要的 Spring Boot 版本中,該版本將在2022年秋季釋出。
2、基本上是說遷移到 Quarkus 可能帶來的好處並沒有超過負面影響。
關於 Quarkus 的一些好處:
- 學習曲線,這比人們預期的要小得多,我一起工作的一些 Spring 開發人員在一天左右的時間裡感覺 Quarkus 比 Spring 更容易,但我的經驗是這取決於專案。
- 速度,Quarkus 只是更快(至少根據我參與的測試)並且在相同數量的資源上執行更多的工作,再次根據我參與的測試,應該提到的是,這是沒有移動的為本地人。
- 開發者速度,我知道這聽起來像個蹩腳的東西,但開發者快樂的想法實際上似乎奏效了,我和我認識的使用 Quarkus 的人似乎更喜歡它,並不是說我不喜歡 Spring Boot,當您考慮了一些框架,甚至 Spring Boot 也很高興使用 :)
3、Quarkus存在不重視kotlin的問題,例如實時重新載入不起作用。
另一種情況下,屬性的建構函式注入會不起作用,因此欄位在執行時為空,儘管沒有被標記為可空。
我經歷過許多類似這樣的奇怪錯誤,但隨著時間的推移,它變得更好了,我絕對更喜歡 Quarkus 而不是 Spring Boot。
很遺憾,kotlin 似乎是二等公民
4、兩者基準測試在效能上有巨大的差異,但無法確定其原因......。
主要原因是Quarkus在構建時做了傳統Java在執行時做的事情。這包括。
- Classpath掃描
- 配置解析
- 初始化元件
Quarkus應用程式只包含執行時需要的類。這種預處理導致了更少的記憶體使用和更快的啟動時間。然而,就像任何事情一樣,也有取捨的問題。其中之一是,如果你是一個reflection發射的重度使用者,Quarkus對你來說並不是很好。
完整的解釋在這裡:https://quarkus.io/container-first/
5、我去年一直在使用quarkus,它的文件似乎很缺乏,功能似乎也有點不足,它只是沒有給人帶來很多信心。也許對於一個簡單的微服務來說,從Rdbms中暴露出粗糙的操作,quarkus是偉大的,但對於更復雜的應用程式來說,它似乎有點業餘了。
6、如果我們處在一個新的環境中,只選擇Quarkus和Spring,我毫不懷疑Quarkus將勝出。我以前用過它,在功能和效能方面都給我留下了深刻的印象。我也沒有遇到任何可靠性問題或其他人報告的重大錯誤。
問題是,在已經有一個巨大的事實標準(Spring)的世界裡,它是一個小眾產品,而作為這樣一個標準,它有一系列巨大的優勢。文件、例子、開發人員的熟悉程度、庫的生態系統等等都是Spring的巨大優勢--而Quarkus則不然。我有時不得不深入到原始碼中去尋找Quarkus問題的答案,僅僅是因為沒有文件。
我並不反對使用新的框架--遠非如此,我總是很好奇,願意嘗試新東西。但在生產/商業環境中,技術上的優勢並沒有超過整體上的劣勢,IMHO。當然,可以說這是不公平的,因為Spring取得今天的成就要比它長一個數量級,但這就是現實。
7、Quarkus離 "生產就緒 "還很遠......一些基本的功能,如資料庫連線池仍然是錯誤的(在簡單的資料庫重啟後,連線池一直是死的)......也許明年吧
8、Quarkus不僅僅是在生產中已經使用,而是在一些相當關鍵的系統中已經使用。例如,https://github.com/keycloak/keycloak。
雖然我毫不懷疑存在錯誤,但對我來說,它似乎可以用於生產。我們剛剛開始一項新的服務,在評估了一堆選項(Dropwizard、Boot、Micronaut等等)之後,選擇了Quarkus作為基礎。
DX是偉大的,相對於Spring這樣的基於執行時/反射的DI框架,我們真的很欣賞它沒有瘋狂的、抽象的、複雜的堆疊跟蹤,以及在編譯時而不是執行時捕獲問題。它是 "雲原生 "的這一事實使得部署到現代可擴充套件架構的工作更加簡單,而為Lambda部署建立原生映象的能力也是一個額外的好處(儘管在我們的決定中並沒有起到重要作用)。
無可否認,我們剛剛開始使用,還有很多東西需要學習,但到目前為止還沒有抱怨。時間會證明一切。
相關文章
- 沃達豐希臘公司用Quarkus代替Spring Boot - quarkusSpring Boot
- 將SpringBoot PetClinic REST遷移到Quarkus的開源專案Spring BootREST
- Airflow vs. Luigi vs. Argo vs. MLFlow vs. KubeFlowAIUIGo
- MVC vs. MVP vs. MVVMMVCMVPMVVM
- Reddit指南
- git revert .vs. git reset .vs. git rebaseGit
- String.format VS. StrSubstitutor VS. NamedParameterJdbcTemplateORMJDBC
- 重寫Reddit
- 搞懂:資料科學vs.機器學習vs.資料分析vs.商業分析資料科學機器學習
- windows下體驗quarkus原生編譯打包Windows編譯
- Reddit,你在用嗎?
- HTMLCollection vs. NodeListHTML
- PostgreSQL vs. MySQLMySql
- AutoIt vs. QTPQT
- 【譯】GraphQL vs. RESTREST
- JavaScript運算子:== VS. ===JavaScript
- Accoona VS. GoogleGo
- Ansible vs. TerraformORM
- 大資料檔案格式比較:AVRO vs. PARQUET vs. ORC大資料VR
- 雲原生時代高效能Java框架—Quarkus(一)Java框架
- 雲原生時代高效能Java框架—Quarkus(二)Java框架
- quarkus依賴注入之八:裝飾器(Decorator)依賴注入
- Quarkus和MongoDB微服務簡單案例原始碼MongoDB微服務原始碼
- Java 下的 JSON庫效能比較:JSON.simple vs. GSON vs. Jackson vs. JSONPJavaJSON
- Reddit採集API reddit文章評論和搜尋 實時資料介面API
- Git branching: master vs. origin/master vs. remotes/origin/masterGitASTREM
- 柏拉圖洞穴寓言 vs. 表徵假說 vs. 表觀遺傳
- 什麼是 CI/CD? - reddit
- Spring WebClient vs. RestTemplateSpringWebclientREST
- Redis vs. MongoDB比較RedisMongoDB
- 引用計數 vs. GCGC
- javascript requestAnimationFrame vs. setTimeoutJavaScriptrequestAnimationFrame
- HTML 5 Canvas vs. SVGHTMLCanvasSVG
- PostgreSQL vs. Oracle 測試SQLOracle
- WebForms VS. MVC(翻譯)WebORMMVC
- PostgreSQL vs. MS SQL ServerSQLServer
- Angular vs. React - the tie breakerAngularReact
- SpringBoot競爭對手來啦:紅帽Linux加入基於Kubernetes原生的Quarkus Java技術棧 - infoworldSpring BootLinuxJava