java - 选择适用于 Java 的响应式 Web 框架

标签 java web reactive-programming vert.x spring-webflux

  1. 我们的应用程序绝对无状态对于选择正确的框架很重要吗?我们不需要担心同步、单线程模型等

  2. 我更喜欢我们编写“常规”服务层的模型。我的意思是服务不知道 Web 框架并且是同步的。这种方法简化了这些服务的开发和测试。然后“ Controller ”层以异步方式调用这些服务。当我想要实现这样的架构时我是对的还是它有一些缺点?

  3. 我更喜欢 Web 框架有一个 Controller ,它向框架返回异步结果(就像在 akka-http 中返回 Futures 或在 Web Flux 中返回 Flux),而不是处理程序的 Vertx 方法,因为处理程序需要更多代码行并且可读性较差。我对吗?我错过了什么吗?

如果您认为我在 2. 和 3. 中是正确的 - 哪个框架以这种方式工作?

如果您不同意 2. 和 3. - 我应该考虑哪些因素?

最佳答案

当谈到使服务同步时,我不能同意 2。我不认为你可以使某些部分同步,而其他部分异步。当然,您可以这样做,但是,那么您将失去响应式编程的所有优点。如果代码的某些部分是阻塞的,另一部分是非阻塞的,那么非阻塞部分也将被阻塞;) 切换到响应式(Reactive)编程需要不同的思维方式和东西,但是,如果您这样做,那么测试异步服务并不那么困难。我想说,如果你切换到响应式 Web 框架(web-flux),最好使代码的每个部分异步。

关于java - 选择适用于 Java 的响应式 Web 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52407243/

相关文章:

java - 此代码签名证书对签署小程序有效吗?

java - 如何使用 setOnClickListener 和 setOnTouchListener +

java - 从类类型转换为引用类

javascript - 如何创建 html 页面的实例并动态加载到主页列表中

javascript - RxJS:如何仅在订阅外部可观察对象/主题时订阅内部可观察对象?

java - 找不到自动发现服务

python - 在给定目录 : static files not found 上部署 Flask 应用程序

flash - stupeflix 和/或 animoto 背后的技术

java - RxJava2 Completable 未按预期组合

flutter - 如何使用 Flutter 在恢复状态下重建 StreamBuilder