WebFlux
Last updated
Last updated
翻译版:https://springcloud.cc/web-reactive.html
2017年9月,Spring Framework 5发布了其GA版本,这是自2013年12月以来的又一个大版本升级。除了一些人们期待已久的改进,最令人兴奋的新特性是它提供了完整的端到端响应式编程的支持。这是一种不同于Servlet的全新的编程范式和技术栈,它基于异步非阻塞的特性,能够借助EventLoop以少量线程应对高并发的访问,对微服务架构也颇有助益。不夸张的说,Spring 5使得Java世界拥有了Node.js那样骨骼惊奇的神器。
2018年3月1号,Spring Boot 2.0如约发布,也是一个大版本升级。
从这个图就可以看出对支持Spring 5的Spring Boot 2.0来说,新加入的响应式技术栈是其主打核心特性。具体来说,Spring Boot 2支持的响应式技术栈包括如下:
Spring Framework 5提供的非阻塞web框架Spring Webflux;
遵循响应式流规范的兄弟项目Reactor;
支持异步I/O的Netty、Undertow等框架,以及基于Servlet 3.1+的容器(如Tomcat 8.0.23+和Jetty 9.0.4+);
支持响应式的数据访问Spring Data Reactive Repositories;
支持响应式的安全访问控制Spring Security Reactive;
响应式编程是关于异步的事件驱动的需要少量线程的垂直扩展而非水平扩展的无阻塞应用