zoukankan      html  css  js  c++  java
  • springboot 学习之路 17(webflux 入门 (1))

    Webflux:

      webflux是在springboot2系列引入的技术:补充一些概念:

      

    1>  Reactive Streams 是 JVM 中面向流的库标准和规范:

          处理可能无限数量的元素
          按顺序处理
          组件之间异步传递
          强制性非阻塞背压(Backpressure

    2>  Backpressure(背压):背压是一种常用策略,使得发布者拥有无限制的缓冲区存储元素,用于确保发布者发布元素太快时,不会去压制订阅者。

      Reactive Streams(响应式流)
          一般由以下组成:
            发布者:发布元素到订阅者
            订阅者:消费元素
            订阅:在发布者中,订阅被创建时,将与订阅者共享
            处理器:发布者与订阅者之间处理数据
    3>  响应式编程

      响应式项目编程实战中,通过基于 Reactive Streams 规范实现的框架 Reactor 去实战。Reactor 一般提供两种响应式 API :

        Mono:实现发布者,并返回 0 或 1 个元素    
        Flux:实现发布者,并返回 N 个元素


    4>   Spring Webflux(基于 Reactor 实现)【重点】

      WebFlux 特性:

        响应式 API

        编程模型
        适用性
        内嵌容器
        Starter 组件

    5>Spring Boot 2.x 常用的 Starter 组件有哪些呢?
        Spring Boot 2.0 WebFlux 组件:
            Spring Boot WebFlux 官方提供了很多 Starter 组件,每个模块会有多种技术实现选型支持,来实现各种复杂的业务需求:
            Web:Spring WebFlux
            模板引擎:Thymeleaf
            存储:Redis、MongoDB、Cassandra,不支持 MySQL
            内嵌容器:Tomcat、Jetty、Undertow

    6>  springboot的webflux内嵌的是netty服务器

    webmvc和webFlux:

      

    webflux项目搭建:

      第一步:创建项目骨架 :

        

      第二步:创建handler:

        

      第三步:创建router:

        

      第四步:启动项目测试:(启动是netty)

        

     到这,webflux项目搭建完成,并测试通过,这只是简单介绍,并没有深入介绍webflux,下一章会详细介绍 


  • 相关阅读:
    SAP系统报错
    基金投资
    Reading: 重构相关
    C/C++: static variables
    C/C++: 如何删除本地文件/读取某个目录下符合某种pattern的所有文件路径
    如何在Linux下建立包含lua vm的unit test framwork
    C++实现字符串分割(类似于Python的split方法)
    postMan 汉化
    搞懂MySQL InnoDB事务ACID实现原理
    mysql 索引优化
  • 原文地址:https://www.cnblogs.com/huhongy/p/9481163.html
Copyright © 2011-2022 走看看