我可以在休眠状态下使用 SpringWebflux 吗?

wor*_*ter 1 spring hibernate jpa spring-webflux

我正在尝试构建一个 REST 应用程序,有朝一日可能会被数以百万计的客户使用。牢记这一点,我们预计会有很多请求一起出现。我想知道是否适合为此使用 Hibernate 或 spring-flux。我们的数据库模型是高度相关的,因此我们不得不拒绝 mongo 和其他非关系数据库。我有几个问题是:

  1. spring-webflux和hibernate可以一起使用吗?
  2. 如果问题 1 的答案是否定的,那么 spring-flux 是否具有类似 hibernate 的缓存功能?
  3. 如果问题 1 的答案是否定的,那么随着时间的推移,Spring Flux 的非阻塞方法是否会始终比 hibernate 更快?
  4. spring-flux/hibernate 有哪些我可能没有考虑的好处?

rie*_*pil 5

  1. spring-webflux和hibernate可以一起使用吗?

是的当然。但是当前的 Hibernate 是阻塞 IO,所以你失去了spring-webflux. Oliver Gierke(Spring Data 项目负责人)最近宣布了一种反应式 Java 数据库连接(https://github.com/r2dbc),但目前尚不可用。

  1. 如果问题 1 的答案是否定的,那么 spring-flux 是否具有类似 hibernate 的缓存功能?

这个问题已经在另一个堆栈溢出问题中解决了:Spring Webflux 和 @Cacheable - 缓存 Mono / Flux 类型结果的正确方法

  1. 如果问题 1 的答案是否定的,那么随着时间的推移,Spring Flux 的非阻塞方法是否会始终比 hibernate 更快?

这个问题前面很难回答。一般 I/O 相关的东西更“昂贵”,会消耗你的性能。