当前位置:首页 > 过滤设备 > 正文内容

spring gateway是阻塞的吗?

2024-02-23 18:39:45过滤设备1

一、spring gateway是阻塞的吗?

Spring Gateway默认是非阻塞的,它基于Reactor模式和Project Reactor构建,使用WebFlux框架支持非阻塞I/O操作。Gateway提供了基于异步编程模型的路由、过滤和处理请求的功能,能够实现高并发的请求处理。通过使用WebFlux框架,Gateway能够利用少量的线程处理大量的并发请求,提高系统的吞吐量和性能。因此,Spring Gateway是非阻塞的,能够更有效地处理大规模并发请求。

二、web过滤器的步骤?

1、新建一个类,实现Filter接口

2、实现doFilter()方法,打印一句话,来证明能够进行拦截

3、在web.xml中进行配置(参照Servlet配置)

4、访问一个页面,看看能不能拦截

1>

package com.test.filter;

import java.io.IOException;

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

public class Demo1Filter implements Filter {

private FilterConfig filterConfig;

public void doFilter(ServletRequest request, ServletResponse response,

FilterChain chain) throws IOException, ServletException {

System.out.println("Demo1过滤前");

System.out.println(filterConfig.getInitParameter("param1"));

chain.doFilter(request, response);//放行。让其走到下个链或目标资源中

System.out.println("Demo1过滤后");

}

public void init(FilterConfig filterConfig) throws ServletException {

System.out.println("初始化了");

this.filterConfig = filterConfig;

}

public void destroy() {

System.out.println("销毁了");

}

}

三、Webflux底层是nio吗?

是的,Webflux底层使用的是基于NIO(非阻塞I/O)的技术。NIO是一种高效的I/O模型,它允许在单个线程上处理多个并发连接,而不需要为每个连接创建一个独立的线程。Webflux利用了NIO的特性,通过使用Reactor模式和异步编程,实现了高性能的非阻塞处理,能够处理大量的并发请求。

这使得Webflux在处理高负载和大规模并发的情况下表现出色,并且具有较低的资源消耗。

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:http://www.shgreenbox.com/glsb/136858.html