WebFlux 入坑(序篇)

2019-05-31  本文已影响0人  litesky

Spring5 最重要的新特性就是WebFlux了,WebFlux 是基于Reactor 构建的响应式(基于数据流及其传播变换方式的一种编程模型)Web框架,可以充分发挥多核处理器的优势,可以在使用少量线程和内存情况下提高并发量。虽然WebFlux技术并不是很成熟,但是作为Spring技术栈前沿的新技术,我们还是应该去学习。

WebFlux

WebFlux 最底层是基于Reactor实现的,Reactor 是响应式编程在Java上的一种实现。如果你了解RxJava的话,可以说Reactor是RxJava的阉割版,因为Reactor 只提供了Mono、Flux 两种序列类型,Mono 只产生0个或者一个数据,Flux 可以产生0 至多个元素。由于WebFlux 是响应式的, 所以从DAO 到Service 再到 Controller ,层层之间都必须是响应式的,层与层之前数据交互处理都只能是Mono和Flux,这样就导致了很多阻塞式的框架无法使用,所以传统的关系型数据库框架(JDBC、JPA) 都无法使用(其实已经有了RxJDBC,但是要你去直接操作JDBC,太麻烦了)。好在Spring 已经提供了响应式的Nosql框架,比如MongoDB、Redils,SpringSecurity 也有响应式的版本,目前来看WebFlux 还是可以用来开发简单应用的。

image

WebFlux 与SpringMVC 两者之间有着一定的兼容适应性,在开发WebFlux时,任然可以使用MVC的那一套:@Controller、@RequestMapping,也就是说如果不涉及到数据层的操作,WebFlux 和SpringMVC 可以自由切换,当然,WebFlux 还提供了一套函数式风格的写法。

image

内容

入坑系列文章将带来一下内容:

  1. WebFlux 快速上手
  1. WebFlux 函数式风格

  2. WebFlux 整合ReactiveMongoDB

  3. WebFlux 开发REST API

  4. WebFlux 响应式客户端

  5. WebFlux 缓存

  6. WebFlux 接入Swagger

  7. WebFlux 整合SpringSecurity

  8. WebFlux 单元测试

  9. …. 未完待续

QQ群:577715614

上一篇下一篇

猜你喜欢

热点阅读