2021.50夸尔库斯
在2018年的一次内部会议上,红帽中间件副总裁Mark Little表示,他最担心的是一种新的编程语言(比如go)能够为用户提供更快的运行速度和更丰富的类库来支持从Java应用的迁移,因为随着云环境的不断完善和进入用户的生产系统,应用的替换和迁移成本会不断降低, 这将使用户更倾向于使用新的更快的编程语言进行开发,这将导致许多基于Java中间件产品的红帽。 后来,有了夸尔库斯。Quarkus是围绕集装箱优先权的概念设计的。基于GraalVM原生映像,当应用程序编译成本地映像时,启动速度更快,占用内存更少。Quarkus的内核是围绕CDI设计的,内核是一个微型的CDI容器,支持Netty、Vert.x等异步编程模型,可以直接用Kotlin开发。Quarkus框架由Extensions扩展而来,包含了红帽中间件的大部分产品,如Hibernate ORM、Artemis、Resteasy、Undertow、Narayana、Infinispan、Camel、KeyCloak等。
夸尔库斯的更新速度非常快。从1.4版本开始,Java 8逐渐被抛弃。这里有详细的理由:为什么放弃Java 8 Quarkusio/Quarkuswiki Githubqarkus的Spring API兼容性包括Spring DI、Spring Web和Spring Data JPA。在JVM上运行时,Quarkus应用程序几乎可以利用任何Java库。只要不使用Java反射,这些Java库就可以编译为原生的。Spring框架本质上是高度动态的。为了解决这个问题,Quarkus的Spring Compatibility Extension将Spring API映射到现有扩展中的API,这些扩展已经针对快速启动、降低内存利用率和本机编译进行了优化,例如RestEasy和CDI。下面是更详细的介绍,微服务框架之争——Spring Boot和夸尔库斯。
许多Java库和框架都是通过在运行时执行一组增强来开发的,但是有一个缺点,即运行时需要扫描类路径并获取元数据。这是一个耗费时间和内存的昂贵操作。Quarkus通过转移昂贵的操作(如字节码增强、动态类加载、代理等)来解决这个问题。)来编译时间,让应用消耗更少的内存和CPU,启动更快,非常适合云原生应用场景。事实上,Spring社区也在练习使用Graal VM来构建原生应用程序。项目网站为https://github.com/Spring-project-experimental/Spring-Graal-native。目前该项目还处于验证阶段,与Quarkus相比还有差距。
、
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/153031.html