spring5响应式编程

一、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 只须要运行开关类就能够
        
    七、测试
        基于浏览器测试数据库

相关文章
相关标签/搜索