WebFlux 1

什么是WebFlux

  • 用于构建基于Reactive技术栈之上的Web应用程序
  • 基于Reactive Streams API,运行在非阻塞服务器上 (jetty,Netty)

为什么会有WebFlux

  • 对于非阻塞Web应用的需要
  • 函数式编程

Tomcat新版本会对WebFlux有支持


关于WebFlux的性能

  • 请求的耗时并不会有很大的改善
  • 仅需少量固定数量的线程和较少的内存即可实现扩展

WebMVC v.s. WebFlux

  • 已有Spring MVC应用,运行正常,就别改了.
  • 依赖了大量阻塞式持久化API和网络API,建议使用Spring MVC
  • 已经使用了非阻塞技术栈,可以考虑使用WebFlux
  • 想要使用Java 8 Lambda结合轻量级函数式框架,可以考虑WebFlux

两种编程模型

  • 基于注解的控制器
  • 函数式Endpoints

常用注解 (雷同)

  • @Controller
  • @RequestMapping 及其等价注解
  • @RequestBody / @ResponseBody
    返回值
  • Mono / Flux

原文地址:https://www.cnblogs.com/ukzq/p/13435468.html