webflux的详细介绍
引言:上一节已经简单介绍webflux的一些基本概念,本章继续学习webflux的原理和实战方面的东西:
Spring WebFlux架构:
note:注意理解上面这张图。下面解释引用百度
1)服务端技术栈
Spring提供了完整的支持响应式的服务端技术栈。
如上图所示,左侧为基于spring-webmvc的技术栈,右侧为基于spring-webflux的技术栈,
Spring WebFlux是基于响应式流的,因此可以用来建立异步的、非阻塞的、事件驱动的服务。它采用Reactor作为首选的响应式流的实现库,不过也提供了对RxJava的支持。
由于响应式编程的特性,Spring WebFlux和Reactor底层需要支持异步的运行环境,比如Netty和Undertow;也可以运行在支持异步I/O的Servlet 3.1的容器之上,比如Tomcat(8.0.23及以上)和Jetty(9.0.4及以上)。
从图的纵向上看,spring-webflux上层支持两种开发模式:
类似于Spring WebMVC的基于注解(@Controller、@RequestMapping)的开发模式;
Java8lambda 风格的函数式开发模式。
Spring WebFlux也支持响应式的Websocket服务端开发。
由此看来&#