新的 Java 框架 Helidon Nima 正在改变微服务领域的游戏规则

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

新的 Java 框架人气飙升:Helidon Nima 向 Spring Boot 发起挑战



Java 生态系统不断带来惊喜。2024 年,由 Oracle 公司开发的 Helidon Nima 框架人气呈爆发式增长。过去半年中,该项目在 Maven Central 的下载量增长了 340%,GitHub 上的开发者社区已壮大至 3000 多名活跃成员。Helidon Nima 究竟凭借什么吸引了 Java 社区的关注,又为何被称为“Spring Boot 的终结者”?



什么是 Helidon Nima?

Helidon 是 Oracle 于 2020 年推出的一套用于构建 Java 微服务的库。然而,于 2023 年底发布的 Nima(“非阻塞 I/O 微服务架构”的缩写) 版本才真正实现了突破。与使用阻塞 I/O 并需要独立服务器(Tomcat、Jetty)的传统 Spring Boot 不同,Helidon Nima 构建在 虚拟线程(Project Loom) 之上——这是 Java 21 的一项新特性。



开发者为何转向 Nima?

  • 性能: 虚拟线程无需创建数千个原生线程即可处理数百万个并发请求。测试表明,在高负载下,Helidon Nima 比 Spring Boot 快 2-3 倍。
  • 简洁性: 在 Nima 上开发微服务类似于编写普通的同步代码,同时保留了响应式编程的优势。无需使用 CompletableFuture 或 RxJava 等复杂结构——像编写经典 Java 代码一样,即可获得开箱即用的异步能力。
  • 轻量级: 生成的 JAR 文件仅占 5-8 MB(而 Spring Boot 超过 50 MB),应用程序启动只需 0.3 秒。
  • 内置 GraalVM 支持: Nima 可以编译为原生镜像,实现毫秒级启动时间和极低内存消耗——非常适合 serverless 和 Kubernetes 环境。


Helidon Nima 4.0 的关键特性

  • Nima WebServer: 基于虚拟线程的内置 Web 服务器——无需外部容器。
  • Nima Reactive: 用于数据库、HTTP 客户端和消息队列的完全非阻塞栈。
  • Nima Security: 灵活的认证和授权系统,支持 JWT、OAuth2 和 OpenID Connect。
  • Nima Metrics & Tracing: 与 Micrometer 和 OpenTelemetry 集成,用于生产环境监控。


代码示例:Helidon Nima 的 Hello World

以下是一个最简单的微服务示例:

import io.helidon.webserver.Routing;import io.helidon.webserver.WebServer;

public class Main { public static void main(String[] args) { WebServer.builder() .routing(Routing.builder() .get("/hello", (req, res) -> res.send("Helidon Nima 正在运行!")) .build()) .port(8080) .build() .start(); }}

相比之下,Spring Boot 上的类似服务需要 6 行配置、注解以及一个带有 @SpringBootApplication 的独立类。而 Nima 则使用纯 Java 代码,无需任何魔法。



何时应该选择 Helidon Nima?

  • 您正在构建对低延迟有要求的高负载微服务。

推荐库