一、Spring5新特性
二、响应式编程
响应式编程:非阻塞应用程序,借助异步和事件驱动还有少许的线程垂直伸缩,而非横向伸缩(分布式集群)
当Http链接缓慢的时候,从数据库到Http数据响应中也会慢下来甚至中止,直到网速恢复后(背压)
响应式编程的转变:命令式编程转换为声明式编程
响应式编程的背压:
生产者消费者模型:线程交互 notify wait
背压就是保证生产者不会出现过分生产,也会保证消费者不会过分消费
WebFlux 内置Netty
三、Spring5的响应式编程的实现
响应式服务端的实现方式2种:
第一种:注解式应用
SpringMVC的注解
只是映射方法的返回值:Mono和Flux
一、建立SpringBoot项目
记得选择响应式Web应用
二、建立底层类
模拟数据
三、建立控制器
四、建立映射方法
返回值为Mono或者是Flux
Mono:单个值得数据流
Flux:多个值得数据流
五、运行
SpringBoot 只须要运行开关类就能够
六、测试
基于浏览器测试
第二种实现:函数式实现
一、建立SpringBoot项目
记得选择响应式Web应用
二、建立底层类
模拟数据
三、建立数据生成类
dao---generator Mono/Flux
四、建立数据解析器
service---handler Mono<ServerResponse>
五、建立映射方法
controller---router
RouterFunction
Mono:单个值得数据流
Flux:多个值得数据流
六、运行
SpringBoot 只须要运行开关类就能够
七、测试
基于浏览器测试数据库