【发布时间】:2021-04-25 16:00:20
【问题描述】:
我想使用 Spring Cloud Gateway 创建一个新项目,但我不想要所有的反应性功能。对我来说,如果其他微服务阻塞 I/O 而不是 Reactive 就好了。
- 我该怎么做?
- 假设我正在将云网关实现为响应式,而所有其他 MS 都为阻塞式,这是一个好方法吗?这样做有什么坏处?
【问题讨论】:
标签: spring spring-webflux reactive spring-cloud-gateway
我想使用 Spring Cloud Gateway 创建一个新项目,但我不想要所有的反应性功能。对我来说,如果其他微服务阻塞 I/O 而不是 Reactive 就好了。
【问题讨论】:
标签: spring spring-webflux reactive spring-cloud-gateway
Spring Cloud Gateway 建立在 Spring webflux 和 netty 之上,无法更改。
来自参考文档:
Spring Cloud Gateway 基于 Spring Boot 2.x、Spring WebFlux 和 项目反应堆。因此,许多熟悉的同步 库(例如 Spring Data 和 Spring Security)和模式 您知道使用 Spring Cloud Gateway 时可能不适用。如果你是 不熟悉这些项目,我们建议您先阅读他们的 帮助您熟悉一些新概念的文档 在使用 Spring Cloud Gateway 之前。
Spring Cloud Gateway 需要 Spring 提供的 Netty 运行时 引导和 Spring Webflux。它在传统的 Servlet 中不起作用 容器或构建为 WAR。
非阻塞 IO 应用程序对阻塞 IO 应用程序进行网络调用是完全可以接受的。非阻塞 IO 应用程序仍然具有非阻塞 IO 的所有好处。它在等待网络调用响应阻塞 IO 应用程序时不会消耗资源,理论上应该消耗更少的资源并因此能够处理更多的并发调用。
【讨论】: