响应式编程(二)——webflux

WebFlux:底层完全基于netty+reactor+springweb 完成一个全异步非阻塞的web响应式框架
底层:异步 + 消息队列(内存) + 事件回调机制 = 整套系统
优点:能使用少量资源处理大量请求;

0、组件对比

API功能

Servlet-阻塞式Web

WebFlux-响应式Web

前端控制器

DispatcherServlet

DispatcherHandler

处理器

Controller

WebHandler/Controller

请求、响应

ServletRequestServletResponse

ServerWebExchange:

ServerHttpRequest、ServerHttpResponse

过滤器

Filter(HttpFilter)

WebFilter

异常处理器

HandlerExceptionResolver

DispatchExceptionHandler

Web配置

@EnableWebMvc

@EnableWebFlux

自定义配置

WebMvcConfigurer

WebFluxConfigurer

返回结果

任意

Mono、Flux、任意

发送REST请求

RestTemplate

WebClient

Mono: 返回0|1 数据流

Flux:返回N数据流

1、WebFlux

底层基于Netty实现的Web容器与请求/响应处理机制

参照:Spring WebFlux :: Spring Framework

1、引入

    
        org.springframework.boot
        spring-boot-starter-parent
        3.1.6
    



        
            org.springframework.boot
            spring-boot-starter-webflux
        
    

Context 响应式上下文数据传递; 由下游传播给上游;

以前: 浏览器 --> Controller --> Service --> Dao: 阻塞式编程

现在: Dao(数据源查询对象【数据发布者】) --> Service --> Controller --> 浏览器: 响应式

大数据流程: 从一个数据源拿到大量数据进行分析计算;

ProductVistorDao.loadData()

.distinct()

.map()

你可能感兴趣的:(java)