Quarkus 3.12 - TLS 注册表,负载削减,原生镜像代理,Kotlin 2.0 等
今天,我们发布了 Quarkus 3.12,其中包含我们称之为 TLS 注册表的新功能。
TLS 注册表是我们安全基础设施的重要组成部分,因为它将 TLS 配置集中在一个地方。一些扩展已经迁移到它,其他一些也将跟随,同时还将引入一些附加工具,例如 Quarkus CLI 中的命令。
主要变化是
更新
要更新到 Quarkus 3.12,我们建议更新到最新版本的 Quarkus CLI 并运行
quarkus update
请注意,quarkus update
可以将您的应用程序从任何 Quarkus 版本(包括 2.x)更新到 Quarkus 3.12。
有关您需要对应用程序进行的调整的更多信息,请参阅 Quarkus 3.12 迁移指南。
有什么新功能?
TLS 注册表
TLS 配置以前分散在每个 Quarkus 扩展中,并不完全一致。
TLS 注册表改变了这一点,并将所有 TLS 配置集中在一个地方。即使是集中化的,您也可以定义多个命名配置,并在支持的扩展中使用它们。
使用新的 TLS 注册表的扩展包括
-
REST Client (Quarkus REST 中的那个)
-
Mailer
-
Redis
-
WebSockets Next
更多内容即将推出,您很快也会看到更多与 TLS 注册表相关的功能。
您可以在 专用指南中找到有关 TLS 注册表的更多信息。
负载卸载
负载分流是检测服务过载并拒绝请求的做法。
Quarkus 3.12 附带了 `quarkus-load-shedding` 扩展,它实现了…… 隆重推出!…… 负载卸载。
负载卸载参考指南将帮助您入门。
Java Flight Recorder
Java Flight Recorder 是一个监控工具,允许记录 Java 应用程序执行期间记录的事件。
虽然您可以直接使用 Quarkus 和 Java Flight Recorder,但 Quarkus JFR 在 Quarkus 层面提供了一些集成,这可能会很方便。
有关更多信息,请查看 Quarkus JFR 教程。
Container Image Podman
如果您使用 Podman 而不是 Docker,您现在可以使用专门用于 Podman 的 Container Image Podman 扩展。
更多信息请参阅 Container Image 指南。
原生镜像代理
您可以在 JVM 和原生模式下使用 Quarkus,并且两者都有各自的优势。
然而,对于复杂的应用程序,从 JVM 切换到原生模式可能是一个挑战:虽然 Quarkus 负责了扩展的所有繁重工作,但您可能需要调整自己类的原生镜像配置。
这通常是一个反复试验的过程,而且由于编译原生可执行文件需要时间,所以可能是一个漫长而乏味的过程。
Quarkus 3.12 集成了原生镜像代理,以提供一些配置提示。
总体思路是使用跟踪代理运行集成测试,并根据测试的执行情况,确定如何最佳地配置原生构建。
目前,此集成仅适用于 Maven,但非常欢迎贡献将它集成到 Gradle 插件中。
您可以在 Native 参考指南中找到有关此新功能的更多信息。
请注意,新生成的项目将在生成的 `pom.xml` 中自动包含相应的配置。
与 Spring Boot 3 对齐的 Spring 兼容层
Quarkus 具有 Spring 兼容层,提供对 Spring DI、Spring MVC、Spring Data 等的支持……
此兼容层已升级,以与 Spring Boot 3 API 对齐。
MongoDB 和 OpenTelemetry
在 Quarkus 3.12 中,MongoDB 扩展中的 OpenTelemetry 集成得到了很大的改进。
因此,如果您正在使用 MongoDB 和 OpenTelemetry,这是一个升级的好理由!
Quarkus CXF
Quarkus CXF 3.12.0 已发布,现已在 Quarkus Platform 3.12 中提供。有关此版本的新增内容,请查看 Quarkus CXF 3.12.0 发布说明。
完整更新日志
您可以在 GitHub 上获取 3.12.0.CR1 和 3.12.0 的完整更新日志。
贡献者
Quarkus 社区正在不断壮大,现已有 956 位贡献者。非常感谢他们中的每一位。
特别感谢 3.12 版本中的 Alex Martel, Alexey Loubyansky, Andre F de Miranda, Andy Damevin, Arthur Burke, Auri Munoz, Bruno Baptista, Chihiro Ito, Chris Laprun, Christian Navolskyi, Christian Schmidt, cknoblauch, Clement Escoffier, Cody Moore, Daniel Meier, David Andlinger, David M. Lloyd, Davide D’Alto, Eric Deandrea, Fabrice Bauzac-Stehly, Floris Westerman, Foivos Zakkak, Fouad Almalki, Galder Zamarreño, George Gastaldi, Georgios Andrianakis, Giancarlo Calderón Cárdenas, Graham Cunningham, Guillaume Smet, Harsh Bhagat, Holly Cummins, Ioannis Canellos, Jakub Jedlicka, Jerome Prinet, Katia Aresti, Ladislav Thon, Marc Nuri, Marco Schaub, marko-bekhta, Martin Kouba, Matej Novotny, Matheus Cruz, Max Rydahl Andersen, Michal Karm Babacek, Michal Vavřík, Nithanim, Ozan Gunalp, Patryk Najda, Peter Palaga, Phillip Krüger, Pierre Cheucle, Rolfe Dlugy-Hegwer, Said BOUDJELDA, Sanne Grinovero, Sergey Beryozkin, Siva_M7, Stéphane Épardaud, Tamaro Skaljic, Thibault Meyer, Thomas Darimont, Vincent Sevel, vkn, vsevel, Yoann Rodière, 和 Yoshikazu Nojima。
加入我们
我们非常重视您的反馈,所以请报告错误,提出改进建议…… 让我们一起构建伟大的东西!
如果您是 Quarkus 用户或只是好奇,请不要害羞,加入我们热情的社区
-
在 GitHub 上提供反馈;
-
编写一些代码并 推送 PR;
-
在 Stack Overflow 上提问。