2

云原生-Quarkus框架

 2 years ago
source link: https://mikeygithub.github.io/2022/04/22/yuque/zps59b/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
云原生-Quarkus框架 - 麦奇

云原生-Qua_

Mikey 2022年4月22日 下午

860 字

9 分钟

4 次

Quarkus 是一个全栈的 Kubernetes 原生 Java 框架,专为 Java 虚拟机 (JVM) 和原生编译而设计,专门针对容器优化 Java,使其成为无服务器、云和 Kubernetes 环境的有效平台。
Quarkus 旨在与流行的 Java 标准、框架和库(如 Eclipse MicroProfile 和 Spring 以及 Apache Kafka、RESTEasy (JAX-RS)、Hibernate)配合使用 ORM (JPA)、Spring、Infinispan、Camel 等等。
Quarkus 的依赖注入解决方案基于 CDI(上下文和依赖注入),并包括一个扩展框架,用于扩展功能以及配置、引导和将框架集成到您的应用程序中。添加扩展就像添加依赖一样简单,或者您可以使用 Quarkus 工具。
它还为 GraalVM(一种用于运行以多种语言(包括 Java 和 JavaScript)编写的应用程序的通用虚拟机)提供正确的信息,以便对您的应用程序进行本机编译。

Kubernetes 原生 Java 解决方案,专为 OpenJDK HotSpot 和 GraalVM 量身定制,采用一流的 Java 库和标准制作而成。

专为开发人员设计

Quarkus 从一开始就被设计为易于使用,其功能在几乎没有配置的情况下运行良好。
开发人员可以为他们的应用程序选择他们想要的 Java 框架,这些框架可以在 JVM 模式下运行,也可以在本机模式下编译和运行。
Quarkus 的构建着眼于为开发人员带来乐趣,还包括以下功能:

  • 实时编码,使开发人员可以立即检查代码更改的效果并快速排除故障
  • 使用嵌入式托管事件总线的统一命令式和反应式编程
  • 简单的本机可执行文件生成

无论应用程序是托管在公共云上还是内部托管的 Kubernetes 集群中,快速启动和低内存消耗等特性对于降低总体主机成本都很重要。
Quarkus 是围绕容器优先理念构建的,这意味着它通过以下方式针对更低的内存使用和更快的启动时间进行了优化:

  • 对 Graal/SubstrateVM 的一流支持
  • 构建时元数据处理
  • 减少反射使用
  • 本机映像预引导

所以 Quarkus 构建应用程序的内存消耗是传统 Java 的 1/10,启动时间更快(快 300 倍),大大降低了云资源的成本。

命令式和反应式代码

Quarkus 旨在在开发应用程序时无缝结合熟悉的命令式代码和非阻塞、反应式代码。
这对于习惯于使用命令式模型并且不想切换事物的 Java 开发人员以及使用云原生/反应式方法的开发人员都有帮助。
Quarkus 开发模型可以适应您正在开发的任何应用程序。
Quarkus 是在无服务器架构、微服务、容器、Kubernetes、功能即服务 (FaaS) 和云的新世界中运行 Java 的有效解决方案,因为它的创建考虑了所有这些事情。

1.创建 Quarkus 应用

  • Idea 创建
  • 命令行创建
curl -Ls https://sh.jbang.dev | bash -s - trust add https://repo1.maven.org/maven2/io/quarkus/quarkus-cli/
curl -Ls https://sh.jbang.dev | bash -s - app install --fresh --force quarkus@quarkusio
#创建应用
quarkus create && cd code-with-quarkus
#运行
quarkus dev

https://quarkus.io/
https://quarkus.io/guides/
https://github.com/quarkusio/quarkus


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK