我们的应用程序绝对无状态对于选择正确的框架很重要吗?我们不需要担心同步、单线程模型等
我更喜欢我们编写“常规”服务层的模型。我的意思是服务不知道 Web 框架并且是同步的。这种方法简化了这些服务的开发和测试。然后“ Controller ”层以异步方式调用这些服务。当我想要实现这样的架构时我是对的还是它有一些缺点?
我更喜欢 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/