Spring Boot 2 之 WebFlux 反应式编程解析及实战

近些年来,反应式编程亦或称为响应式编程,在开发者社区中很受欢迎,特别在 Spring 5 以及 Spring Boot 2 发布之后热度再次飙升。以反应式编程为基础的 Spring WebFlux 组件作为异步非阻塞的系统解决方案,可以明显的提高系统吞吐量。

首先看一下Srping官网上的一张图,对比一下SpringMvc和Spring WebFlux:
Spring Boot 2 之 WebFlux 反应式编程解析及实战_第1张图片

Spring WebFlux 提供了两种编程模型:第一种是 Spring MVC 中使用的基于传统 SpringMVC 注解的方式;第二种是基于 Java 8 的 lambda 表达式的函数式编程模型,给出路由和处理请求。Spring MVC 和 WebFlux 控制器都支持 Flux/Mono 返回类型。、

WebFlux 需要底层提供运行时的支持,WebFlux 可以运行在支持 Servlet 3.1 非阻塞 IO API 的 Servlet 容器上,或是其他异步运行时环境,如 Netty 和 Undertow。Spring Boot 2默认选择的是Netty作为启动容器。

如何实现反应式编程,可参阅系统文章 Spring Boot 2 之 WebFlux 反应式编程解析及实战。编写反应式代码之前,我们应了解Java 8 Lambda和Stream 函数式编程以及Servlet3.0异步编程与SSE。

推一波好文~~~,文章多数已入GitChat严选并获得好评,有没有一款适合你?

  • 实例详解 JVM 类加载机制

  • 全面掌握 Java 时间日期 API

  • 基于 Gradle+Docker 搭建一个 Dubbo 分布式程序

  • Netty 实战入门详解

  • Android 通过 TensorFlow 训练模型识别手写数字

Spring Boot 2 之 WebFlux 反应式编程解析及实战_第2张图片Spring Boot 2 之 WebFlux 反应式编程解析及实战_第3张图片

你可能感兴趣的:(java)