网站首页 > 开源技术 正文
Quarkus 是一个为 Java 虚拟机(JVM)和原生编译而设计的全堆栈 Kubernetes 原生 Java 框架,用于专门针对容器优化 Java,并使其成为无服务器、云和 Kubernetes 环境的高效平台。
Quarkus 可与常用 Java 标准、框架和库协同工作,例如 Eclipse MicroProfile、Spring(作为 2020 年红帽峰会追踪的一个环节一起演示)、Apache Kafka、RESTEasy (JAX-RS)、Hibernate ORM (JPA)、Spring、Infinispan、Camel 等。
Quarkus 的依赖注入解决方案基于 CDI(上下文和依赖注入),且包含一个扩展框架来扩展功能并将其配置、引导并集成到您的应用中。添加扩展就像添加依赖项一样容易;或者,您可以使用 Quarkus 工具。
此外,它还向 GraalVM(一种通用虚拟机,用于运行以多种语言(包括 Java 和 JavaScript)编写的应用)提供正确信息,以便对应用进行原生编译。
惊人的快速启动时间,极低的RSS内存(不仅是堆大小!)在容器编排平台(如Kubernetes)中提供了近乎即时的向上扩展和高密度的内存利用率
专为开发人员而设计
Quarkus 的设计从一开始就立足于简单易用,其功能几乎不需要配置即可正常使用。
开发人员可以为其应用选择所需的 Java 框架,而这些应用可以在 JVM 模式下运行,也可以在原生模式下进行编译和运行。
可为开发人员带来最佳的欢乐:
- 统一配置
- 零配置,瞬间重载实时重载
- 简化了80%常用用法的代码,灵活了20%的用法
- 无需麻烦的本机可执行文件生成
容器优先
无论是将应用托管在公共云上还是内部托管的 Kubernetes 集群中,快速启动和低内存消耗等特性对于降低总体主机成本来说都至关重要。
Quarkus 的开发遵从了容器优先的原则,这意味着它已通过以下方式针对降低内存使用和加快启动时间进行了优化:
- 鼎力支持 Graal/SubstrateVM
- 构建时元数据处理
- 减少反射的使用
- 本机映像预启动
因此,Quarkus 构建的应用其内存消耗只有传统 Java 的 1/10,而且启动时间更快(快了 300 倍),这些都大大降低了云资源的成本。
云原生
在 Kubernetes 等环境中采用 12 要素原则。
统一命令式与反应式
在设计上,Quarkus 能够在开发应用时无缝地结合熟悉的命令式代码和非阻塞、响应式样式。
这对于习惯使用命令式模型而不想切换风格的 Java 开发人员以及使用云原生/响应式方法的开发人员都非常有用。
基于标准
Quarkus通过利用您喜欢和使用的五十多种最佳库的不断增长的列表,提供了一个内聚的,易于使用的,全栈的框架。所有都连接在标准主干上
Quarkus 开发模型可以适应您正在开发的任何应用
对于在新的无服务器架构、微服务、容器、Kubernetes、功能即服务(FaaS)和云环境中运行 Java 而言,Quarkus 堪称是一个有效的解决方案,因为在创建它时就充分考虑了所有这些因素。
猜你喜欢
- 2024-11-05 Java开发:哪些技能测试来评估Java开发人员的技能?
- 2024-11-05 Dubbo - 多协议发布服务(dubbo协议是属于哪一层的)
- 2024-11-05 关于升级 Spring 等依赖的一些经验
- 2024-11-05 为什么区域中心采用有限合伙的形式?| EB-5专家解析
- 2024-11-05 Java 近期新闻 JDK 18 发版计划、Spring Data 2021_1_0、苹果开源 GCGC
- 2024-11-05 架构设计:系统间通信——MQ:消息协议(上)
- 2024-11-05 云原生-Quarkus反应性入门(云原生到底解决什么问题)
- 2024-11-05 Java:什么是Quarkus?(quic java)
- 2024-11-05 缅怀科比!杜少直言难接受,前队友长文悼念,70分新星首次发言
- 2024-11-05 Reddit热议:最后一局《绝地求生》拿了第二名,躺在床上的你!
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)