Quarkus 和 Thorntail 有什么区别?

What is the difference between Quarkus and Thorntail?

能否请您提供 Quarkus and Thorntail 之间更详细的区别?

这有助于在构建新 "Java cloud native app" 时考虑这两者之间的关系。

Quarkus 对 Thorntail 的看法:

  • 创建本机可执行文件的能力,这使您在启动时间和内存占用方面有了巨大的改进。这对于云部署至关重要。
  • 即使使用通常的可执行 JAR,Quarkus 的内存占用量仍然会显着减少(由于死代码消除),并且启动时间更快(因为通常在 运行 上完成的大量初始化工作-时间已移至内置时间)。
  • 实时编码(akka 热插拔代码)- 迄今为止我见过的最好的。
  • 更好的集成测试能力。

Thorntail 相对于 Quarkus 的优势:

  • Thorntail 已经成熟,而 Quarkus 才刚刚发布第一个 Beta。这显然只是短期内的问题。
  • 与其他 Java 库的兼容性在 Thorntail 中将不再是一个问题,从某种意义上说:

    • 一个库在 Thorntail 中开箱即用的可能性高于它在 Quarkus 中开箱即用的可能性,
    • 如果它不是开箱即用的,让它与 Thorntail 一起工作比与 Quarkus 一起工作会更容易。

    然而,应该说 Quarkus 团队在准备一份令人印象深刻的扩展列表方面做得非常出色,其中可能涵盖了人们可能希望得到的一切(?)

在某些情况下,从概念上讲,Quarkus 可能会选择保留 "lighter"。例如。 Quarkus 中的 CDI 实现是 CDI 规范的一个子集,以保持更精简和更快。

Quarkus 是一个整合框架(resteasy、hibernate 等)(相当于 spring boot 和 dropwizard)。

Thorntail(以前称为 wildly-swarm)is :

Enable deconstructing the WildFly AS and pasting just enough of it back together with your application to create a self-contained executable jar.

参见https://thorntail.io/posts/thorntail-community-announcement-on-quarkus/(自 2019 年 3 月 11 日起)

特别是结论:

Quarkus is the latest evolution of our efforts in developing a framework for microservices, and serverless, that began back in 2015 with 2.x.

During the next 18 months we will ensure existing Thorntail users have a smooth transition over to either Quarkus or WildFly.

也就是说,如果您正在为一个新的微服务项目评估 thorntail 与 quarkus,您应该选择 quarkus,ihmo