如何利用Kubernetes榨干JAVA(3)
2023-04-29 来源:飞速影视
本质上,这就是Quarkus所要提供的-提供一个Java执行框架,以最大程度地减少内存和CPU占用空间,并减少将代码部署为容器实例时延迟启动和运行的所有代码。
实现此目标的主要方法是合并另一个开源项目GraalVM。(开源软件项目通常像俄罗斯玩偶一样,包含其他开源项目的层)。GraalVM替代了广泛使用的HotSpot JVM,而不是通常的Java字节码即时编译,而是将应用程序代码提前编译为本地可执行文件。诸如内存管理和线程调度之类的功能是从另一个称为Substrate VM的JVM中提取的,并与应用程序一起编译为本机可执行文件,以产生具有更快启动时间和更少运行时内存开销的代码块。
但是,应该指出的是,尽管Quarkus使Java成为Kubernetes和容器世界中的一等公民,但并未设想将现有的Java企业应用程序迁移为与Quarkus一起运行。
“我们不希望您使用百万行的整体Java应用程序并在Quarkus中运行它。那是行不通的,”夏普莱斯说。
取而代之的是,Quarkus用于新应用程序的新开发,但允许开发人员在进入云原生应用程序领域时保留其Java技能和编程经验。但是要这样做,这些开发人员必须能够访问过去25年来围绕Java演变的许多代码库和框架,以提供关键的业务功能和服务。
“ Java的真正好处之一是,它确实拥有一个庞大的库和实用程序生态系统,可以执行几乎所有事情。某些语言(例如Golang或Rust)虽然很适合在云原生环境中运行,但是却不适合构建业务应用程序,因为它们没有所有这类库和庞大的生态系统”,夏普尔斯说。
“因此,我们早先决定要确保它仍然有用,并且要获得Java的好处,我们需要确保许多流行的框架也可以在Quarkus环境中运行。我们要做的是向这些项目添加某种元数据,以便Quarkus可以优化它们并确保以正确的方式对其进行编译。”
Sharples声称,现在大约有200个Java框架已经对Quarkus提供了必要的支持,其中包括关键工具,例如用于将面向对象的域模型映射到关系数据库的Hibernate,用于RESTful Java应用程序的RESTEasy以及用于创建微服务的Spring Boot框架。
作为一个开源项目,Quarkus不是Red Hat的“所有者”,但是与其他开源工具(例如OpenStack)一样,IBM软件部门提供了自己的项目构建,该项目已添加到Red Hat Runtimes系列中。旨在与其OpenShift应用程序平台集成。OpenShift本身经历了一次转型,从2015年从定制的Linux容器技术转变为Docker风格的容器和Kubernetes。
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)
www.fs94.org-飞速影视 粤ICP备74369512号