Hibernate Reactive 3.0.0.Beta3 参考文档
前言
Hibernate Reactive 是 Hibernate ORM 的响应式 API,支持非阻塞数据库驱动程序和与数据库的响应式交互风格。
Hibernate Reactive 适用于响应式编程环境(如 Vert.x),其中与数据库的交互应以非阻塞方式进行。持久化操作通过构建响应式流来编排,而不是通过过程式 Java 代码直接调用同步函数。响应式流使用 Java CompletionStage
或 Mutiny 的 Uni
和 Multi
链表示。
传统 Java 持久化框架(如 JDBC、JPA 和 Hibernate ORM)设计时使用阻塞式 IO 与数据库交互,因此不适用于响应式环境。据我们所知,Hibernate Reactive 是首个真正利用非阻塞数据库客户端的 ORM 实现。默认支持 PostgreSQL、MySQL、DB2、SQL Server、Oracle 和 CockroachDB 的 Vert.x 客户端,但其架构不限于这些驱动。
这种编程范式在某些运行时场景中具有提高可扩展性和在峰值负载下更可控的性能降级的潜力。然而,通常情况下,并非所有性能测试都能立即看到性能提升。实际上,许多程序不会从此编程模型中受益,而受益的程序可能仅在特定负载场景中体现。