首页 > 解决方案 > WebFilters 之间是否有队列

问题描述

我打算使用 webflux 创建一组微服务。每个服务都有一组处理阶段——一组用于预处理的 web 过滤器,一个用于执行一些 IO 的过滤器/阶段(这可能会变得非常慢),以及一组用于后处理的过滤器。每个后处理过滤器都需要 IO 操作的结果来完成其工作。这在引擎盖下是如何工作的?当正在进行的过滤器的结果可用时,框架是否会自动触发过滤器?

更多信息

可以说我有一个过滤器管道。第一个过滤器执行远程 API 调用 - 这可能很慢。第二个过滤器使用此 API 调用的结果。在基于事件循环的异步处理管道中,这将使用一个或多个队列和线程池进行建模。传入的请求将被放入队列中,并由工作线程拾取。由于管道的第一步是进行 API 调用,因此该线程将进行 API 调用并立即返回,而无需等待结果。收到结果后,将再次放入队列中,并由工作线程拾取并分派到第二个过滤器,该过滤器可以使用 API 调用的结果。如果没有框架,我们将以适当的方式设置队列、线程、消息处理程序,以便在运行时发生上述事件序列。

标签: spring-webfluxproject-reactor

解决方案


推荐阅读