gpt4 book ai didi

java - Spring Boot 2 和 Spring 5 容器混淆

转载 作者:行者123 更新时间:2023-12-01 07:19:22 25 4
gpt4 key购买 nike

我有一个 Spring boot 1.4.3 项目。最近我提出了一个要求,我必须将日志从服务器发送到我的Web应用程序并在网页上打印日志。我知道 WebSockets,但我一直在寻找更好的解决方案,并且遇到了响应式编程和 gRPC。

Spring 在 Spring 版本 5 中支持响应式编程,但我对 gRPC 和响应式编程很困惑。 gRPC 具有双向流式传输功能,它构建在 Netty 之上,并提供与将数据从服务器推送到客户端相同的功能(例如响应式编程)。那么我应该使用哪一个,如果你能让我摆脱这个困惑,那就太好了。

此外,如果我迁移到支持 Spring 版本 5 的 Spring Boot 2,该项目将在 Netty 上运行。我的困惑是,我是否必须在不同的容器上运行我的应用程序,例如 Jetty 服务器上的普通 REST 端点和 netty 服务器上的响应式(Reactive) API,或者 Spring 将通过处理 netty 上的响应式(Reactive)请求并保留常规 REST 来为我开箱即用地处理这个问题jetty服务器上的API,因为据我所知Netty不是Servlet容器。

最佳答案

响应式(Reactive)编程的一个关键特性是背压,以及以非阻塞方式实现的背压。在撰写本文时,gRPC doesn't support this .

响应式编程除了客户端和服务器之间的通信之外还有更多内容。要真正做到响应式,您需要从头到尾都保持响应式。这包括对数据存储的响应式(Reactive)访问等。据我所知,gRPC 无法解决这个问题。

您不应该尝试将传统的基于 Servlet 的 Web 框架(例如 Spring MVC)与 WebFlux(Spring 的响应式 Web 框架)混合使用。您应该编写 100% 响应式 Web 应用程序或 100% 基于 Servlet 的 Web 应用程序。

关于java - Spring Boot 2 和 Spring 5 容器混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45404379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com