Hashicorp Nomad 上的 Quarkus

Quarkus on Hashicorp Nomad

Quarkus 被描述为 a Kubernetes Native Java stack,我认为这是不公平的营销炒作,因为据我所知,它没有针对 Kubernetes 的特定代码(忽略部署脚本和 Maven 插件等)。

有人试过在不同的 Docker 协调器中启动它吗?具体来说,Hashicorp Nomad? How about Marathon?当然,Swarm 的奖励积分。

如果可能,是否应该更新文档以删除 "Kubernetes native" 等营销词?

我想你对营销炒作的看法可能有点正确,尽管我不明白为什么 Quarkus 需要将自己绑定到 Kubernetes 才能称自己为 Kubernetes Native Java堆。你看起来不错 aware:

Kubernetes 已经成为事实上的标准容器编排解决方案,它有许多经过认证的实现,比如上面提到的 in your link from the comments。根据很多意见,它在容器编排方面获得了war。

启动 Quarkus 项目的原始团队(即 Red Hat)表示:

The goal of Quarkus is to make Java a leading platform in Kubernetes and serverless environments while offering developers a unified reactive and imperative programming model to optimally address a wider range of distributed application architectures.

Red Hat 拥有 invested/sponsored 相关技术,例如(随机排序):

  1. Linux(通过 Red Hat Enterprise Linux)
  2. OpenShift 平台
  3. IcedTea(开源构建软件ware 从 Sun/Oracle 编译 OpenJDK 源代码)
  4. 用于 HotSpot VM 的开源新 Java 垃圾收集器 Shenandoah 弥补了与 Azul 的 Zing VM 和 C4 垃圾收集器的部分差距(另一个是提前编译)
  5. Java 应用程序服务器(JBoss AS / WildFly)
  6. 还有其他很棒的 Java 应用程序,例如 Keycloak that will be powered by Quarkus

而 Quarkus 只是他们尝试(相当成功)在 Java 中应用新技术进步的方法之一(如模块系统,提前编译),如在 OpenJDK 中实现的那样和 GraalVM,以改进与现代托管和部署解决方案(如 Kubernetes)的集成。有关更多信息,请参见例如:these blogs

改进 Java 虚拟机的行为所必需的一些更简单、更低级别的更改与某些 Linux 功能(如 cgroups)和 have already been fixed 在过去。

然而,将现有 Java 应用程序迁移到 运行 GraalVM 的 Substrate VM 上的本地图像的最大挑战之一是它(还)不支持流行的所有功能Java 框架(例如 Spring 和 Hibernate)依赖,如 this long list

中所述

因此,据我了解,为了解决这个问题 quoting from here 他们开发了 Quarkus:

[to work] equally well on any JVM and as GraalVM native image executables. And you can build native images with no hassle, on your side.


这都是关于营销的吗?不,我不买那个。我认为这是项目领导层有一个清晰的愿景和目标。
我会告诉你,这将是一个很好的补充,可以更清楚地描述哪些平台被认为是兼容的目标,进行了某种形式的测试,因此 "supported;" 但对于那种信息,你可能正在寻找在 Quarkus 的正式支持合同中,更重要的是:GraalVM(可能来自 Red Hat、Oracle、IBM 和朋友)。