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,下一章会详细介绍 


springboot 学习之路 17(webflux 入门 (1))的更多相关文章

  1. springboot 学习之路 18(webflux详细介绍(2))

    webflux的详细介绍 引言:上一节已经简单介绍webflux的一些基本概念,本章继续学习webflux的原理和实战方面的东西: Spring WebFlux架构: note:注意理解上面这张图.下 ...

  2. springboot 学习之路 1(简单入门)

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

  3. springboot 学习之路 3( 集成mybatis )

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

  4. springboot 学习之路 6(定时任务)

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

  5. springboot 学习之路 8 (整合websocket(1))

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

  6. springboot 学习之路 9 (项目启动后就执行特定方法)

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

  7. springboot 学习之路 2(注解介绍)

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

  8. springboot 学习之路 4(日志输出)

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

  9. springboot 学习之路 5(打成war包部署tomcat)

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

随机推荐

  1. (转)Python3之requests模块

    原文:https://www.cnblogs.com/wang-yc/p/5623711.html Python标准库中提供了:urllib等模块以供Http请求,但是,它的 API 太渣了.它是为另 ...

  2. TFS2018环境搭建一硬件要求

    本文关于微软的团队协作工具TFS2018搭建 1.操作系统要求 TFS可以安装在Windows Server和Windows PC操作系统中,但是TFS2018和2018只支持64位操作系统中,早期的 ...

  3. 【JAVA】判断当前日期是否在时间点内

    public static boolean isInDate(Date date, String strDateBegin, String strDateEnd) { SimpleDateFormat ...

  4. 解读Secondary NameNode的功能

    1.概述 最近有朋友问我Secondary NameNode的作用,是不是NameNode的备份?是不是为了防止NameNode的单点问题?确实,刚接触Hadoop,从字面上看,很容易会把Second ...

  5. PTA (Advanced Level) 1006 Sign In and Sign Out

    Sign In and Sign Out At the beginning of every day, the first person who signs in the computer room ...

  6. 使用Gitlab一键安装包后的日常备份恢复与迁移

    Gitlab 创建备份 使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份: gitlab-rake gitlab:ba ...

  7. 【SpringBoot系列3】SpringBoot使用事务和AOP

    前言: 因为SpringBoot操作两者实在太简单了,我就放一起来写了. 正文(事务): /** * springboot中运用事务 * 真的超级方便,直接加上注解就ok了,连配置都省了 * @ret ...

  8. 在MVC应用程序中,怎样删除上传的文件

    在ASP.NET MVC应用程序中,怎样删除上传的文件. 由于上传时,真正文件是存储在应用程序某一目录,在数据库表中,只是存储其基本信息.在删除时,需要注意一下,由于没有事务可操作.Insus.NET ...

  9. SQL SERVER存储过程中使用事务

    存储过程格式: CREATE PROCEDURE YourProcedure AS BEGIN SET NOCOUNT ON; BEGIN TRY---------------------开始捕捉异常 ...

  10. $.each()和$(selector).each()

    转载:http://www.jb51.net/article/65215.htm $.each()与$(selector).each()不同, 后者专用于jquery对象的遍历, 前者可用于遍历任何的 ...