1、Spring5新特性
2、響應式編程
響應式編程:非阻塞應用程序,借助異步和事件驅動還有少量的線程垂直伸縮,而非橫向伸縮(分布式集群)
當Http連接緩慢的時候,從數據庫到Http數據響應中也會慢下來甚至停止,直到網速恢復后(背壓)
響應式編程的轉變:命令式編程轉換為聲明式編程
響應式編程的背壓:
生產者消費者模型:線程交互 notify wait
背壓就是保證生產者不會出現過度生產,也會保證消費者不會過度消費
WebFlux 內置Netty
3、Spring5的響應式編程的實現
響應式服務端的實現方式2種:
第一種:注解式應用
SpringMVC的注解
只是映射方法的返回值:Mono和Flux
1、創建SpringBoot項目
記得選擇響應式Web應用
2、創建底層類
模擬數據
3、創建控制器
4、創建映射方法
返回值為Mono或者是Flux
Mono:單個值得數據流
Flux:多個值得數據流
5、運行
SpringBoot 只需要運行開關類就可以
6、測試
基於瀏覽器測試
第二種實現:函數式實現
1、創建SpringBoot項目
記得選擇響應式Web應用
2、創建底層類
模擬數據
3、創建數據生成類
dao---generator Mono/Flux
4、創建數據解析器
service---handler Mono<ServerResponse>
5、創建映射方法
controller---router
RouterFunction
Mono:單個值得數據流
Flux:多個值得數據流
6、運行
SpringBoot 只需要運行開關類就可以
7、測試
基於瀏覽器測試
