7

随着最近发布的 GraalVM 19.3,它添加了对 Java 11 的支持,这让我们再次看到它很有趣。Oracle 有两个版本,免费社区版和非免费企业版是可以理解的,但对于两者之间的实际区别是什么,他们非常模糊。

常见问题解答说:

Oracle GraalVM 企业版和 GraalVM 社区版有什么区别?GraalVM Enterprise 有几个关键的进步,使其成为企业优于 GraalVM 社区的首选产品,包括:

  • 通过更高的峰值性能和更低的内存占用来提高效率,从而降低您的基础架构成本并缩短应用程序响应时间
  • 改进的安全功能以保护所有语言的应用程序
  • 企业支持 24x7x365 让您高枕无忧,您的环境由全球 GraalVM 专家提供支持

最后一个要点对于那些需要支持关键任务应用程序的人来说是可以理解的,但我发现前两个相当模糊。

因此,我想听听那些实际使用过 GraalVM 的人的意见,是否可以很容易地总结这些差异——特别是如果得到“这对我们有什么好处”数据的支持——让开发人员了解企业版会给我们带来什么。特别是从 docker/kubernetes 上的原生镜像来看,我们目前的主要用例是基于 Java 的微服务(目前基于 Spring Boot,但微配置文件 WAR 方法很有趣,可以摆脱运行时的脆弱性)。

4

1 回答 1

3

在性能方面,企业版 (EE) 添加了矢量化、最先进的内联、压缩 oops、配置文件引导优化……以及发出调试符号的能力。您可以构建更快的本机映像,消耗更少的内存,可以针对您的工作负载进行专门调整,以及本机工具 (gdb) 可以使用的所有内容。

在安全方面,有可选的 Spectre 缓解措施,但会牺牲一些性能。还有 Sulong 托管,它允许以安全的方式运行本机代码(编译为 LLVM 位码),想想 ArrayIndexOutOfBoundsException 而不是 segfaults。

这个答案肯定是不全面的,一旦某些功能开源到社区版和/或 GraalVM 团队向企业版添加了更多高级功能,它可能已经过时了。

于 2020-01-03T00:17:53.833 回答