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 只須要運行開關類就能夠
        
    七、測試
        基於瀏覽器測試數據庫

相關文章
相關標籤/搜索