2

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

有人尝试在不同的 Docker 编排器中启动它吗?具体来说,Hashicorp Nomad ? 马拉松呢?当然,Swarm 的奖励积分。

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

4

1 回答 1

1

我希望您对所谓的营销炒作有点正确,尽管我不明白为什么 Quarkus 需要将自己绑定到 Kubernetes 才能称自己为 Kubernetes Native Java Stack。你似乎很清楚:

Kubernetes 已成为事实上的标准容器编排解决方案,具有许多经过认证的实现,就像您在评论中的链接中提到的那样。根据许多意见,它赢得了容器编排之战。

开始 Quarkus 项目的原始小组(即 Red Hat)表示:

Quarkus 的目标是使 Java 成为 Kubernetes 和无服务器环境中的领先平台,同时为开发人员提供统一的反应式和命令式编程模型,以优化处理更广泛的分布式应用程序架构。

Red Hat 投资/赞助了相关技术,例如(按随机顺序):

  1. Linux(通过红帽企业 Linux)
  2. OpenShift 平台
  3. IcedTea(从 Sun/Oracle 编译 OpenJDK 源代码的开源构建软件)
  4. 用于 HotSpot VM的开源新 Java 垃圾收集器Shenandoah,缩小了与 Azul 的 Zing VM 和 C4 垃圾收集器的部分差距(提前编译是另一个)
  5. Java 应用服务器 (JBoss AS / WildFly)
  6. 还有其他出色的 Java 应用程序,例如由 Quarkus 提供支持的 Keycloak

Quarkus 只是他们尝试(非常成功)在 OpenJDK 和 GraalVM 中实施的 Java 新技术进步(如模块系统、提前编译)以改进与现代托管集成的方式之一和部署解决方案,例如 Kubernetes。有关更多信息,请参见:这些博客

改进 Java 虚拟机行为所需的一些更简单、更低级别的更改与某些 Linux 功能(如 cgroups)相关,并且在过去已经修复

然而,让现有 Java 应用程序在 GraalVM 的 Substrate VM 上运行以获取本机图像的最大挑战之一是它(尚未)支持流行的 Java 框架(例如 Spring 和 Hibernate)所依赖的所有功能,如这个长长的清单

因此,据我了解,为了从这里修复引用,他们开发了 Quarkus:

[工作] 在任何 JVM 和 GraalVM 本机映像可执行文件上同样出色。而且您可以轻松构建原生镜像。


这都是关于营销的吗?不,我不买那个。我认为这是关于项目领导有一个清晰的愿景和目标。
我会给你一个很好的补充,更清楚地描述哪些平台被认为是兼容的目标,已经过某种形式的测试,因此是“支持的”;但是对于这类信息,您可能正在查看 Quarkus 上的正式支持合同,更重要的是:GraalVM(可能来自 Red Hat、Oracle、IBM 和朋友)。

于 2020-04-16T13:00:52.613 回答