最近发现 quarkus 非常火,我想了解下, quarkus 和 springboot 有啥区别?为啥要用 quarkus 呢?

2020-08-31 22:57:53 +08:00
 guruboy
4409 次点击
所在节点    程序员
7 条回复
bxb100
2020-09-01 10:39:50 +08:00
短小精悍? 容器优化?

不了解, mark 一下
EscYezi
2020-09-04 01:14:05 +08:00
刚刚接触 quarkus,感觉一个明显的区别就是 quarkus 大量使用 java 标准的注解(应该叫 CDI ?),而 springboot 日常用的很多注解都是自己的。
如有错误还请 V 友指正😂
guruboy
2020-09-04 09:10:18 +08:00
@EscYezi 嗯嗯,我看到很多文档里都提到了如下几个方面:
1. 启动时间;
2. 编译之后包的大小;
这两个好像都是和 Graalvm 有关;但是和为什么在云的背景下,但是为什么能够做的比 spring boot 好,这个细节原因自己还是没有搞透彻。另外,quarkus 我想确认下,我如果用 quarkus 可以和 spring boot 一样,引入相关的包就可以了吗?
EscYezi
2020-09-04 13:21:36 +08:00
@guruboy #3 建议先到 https://code.quarkus.io/ 生成一个示例项目看一下,主要区别还是 pom 里面的 plugin 。至于依赖有很多类似 springboot starter 的包
rim99
2020-09-06 10:28:53 +08:00
刚好昨天也在查这方面的资料,quarkus 、micronaut 、helidon 都支持 MicroProfile 规范,后者是 Eclipse 基金会在接收了 Jarkata EE8 之后搞出来的 Java 微服务规范,集成了很多东东:config 管理、依赖注入、容错、监控等等。SpringBoot/Cloud 搞得早,所以都是自己实现的 API,并不支持 MicroProfile 规范。

我看了下文档,感觉 quarkus 比其他对手都增加了对 K8s 的支持。这个也许对 Devops 实践比较好的团队有吸引力。我没能在实际工作中应用,所以也不好说了。
rim99
2020-09-06 10:34:22 +08:00
另外因为 quarkus 用的 web 框架是 RestEasy,本身也是轻量级的。即便用 Openjdk 运行,内存占用也比 springboot 要少
guruboy
2020-09-06 11:20:12 +08:00
@rim99 microprofile 感觉像是 ibm 自己搞的一个云原生的规范; k8s 是 google,所以如果不支持的话,未来很可能会被孤立了。所以我的理解是:
1. quarkus 是一套对标 spring boot/spring cloud 的微服务研发框架;
2. 在部署层面支持了 k8s,从而确保可以融入主流的云原生社区;
目前理解到这么多,欢迎大家拍砖 啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/702958

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX