Reactive

同步与异步

传统的web模型 “命令式编程”:阻塞式模型,一个请求发过来,也许你会开启新的线程,但最后需要等待完成所有操作之后,才能返回response。

一个一个的操作组成了整个业务线,操作之间有先后顺序。所有具有先后顺序的操作,都在同一个线程内。

微服务:开启一个新的线程A去请求别的服务,A线程要等待业务结果返回之后,才能继续执行下面的业务逻辑。这是阻塞的。

Tomcat的NIO异步网络

网络连接的线程池,作用是和客户端建立连接:BIO,NIO;你也可以用多路复用器
但是到了Tomcat之后,业务线程要阻塞地等待业务处理结果,才能返回。
固定线程:连接线程与业务线程1:1的比例,这样的模式的缺陷是
每开启一个线程,需要1024KB的栈内存开销;(64位 jdk8下)
500个并发请求,在JVM至少需要占用500M内存,这还是没干活的情况下。如果栈内存满了,会stack over flow,整个JVM的栈就挂了。
当线程个数越多,系统响应的时间会越长。

如何具有弹性?用线程池。

轮询/长轮询
长连接是客户端和服务端同时设置才生效,长轮询是服务端编程处理手动挂起请求,与客户端无关。

长轮询:http可以保持90s,90s还没有返回的话,需要续租。这样就用http协议伪造了一个假的长连接。
这就是响应式的web。响应的是谁?响应的是客户端。
keep-alived:复用的TCP的连接通道,http复用了tcp连接。http是无状态的,并不是复用的http连接。

长轮询
SSE:Server sent event,服务器发送事件。服务器给我推消息,我就没法给服务器推消息了。

传统的sevlet api,SSE:


抛一个线程,实际上并不是异步,因为还要等后面的线程返回数据,才能继续

观察者模式

你要有一个Observer对象,有一个Subject对象。Observer作为观察者,观察有没有新的事件发生。
要有一个观察者里面存了List,集合里面存放事件。

A是一个线程组,B也是一个线程组。A想要吃饭,告诉观察者。观察者让B做饭。B做完饭返回,A再去观察者那里拿。
每一个线程都在做自己该做的事,解耦。线程之间通过观察者通信。

两个线程组的连接数量是不对等的。

线程池是独立的,相互之间不影响,这样就不会因为某个业务阻塞。

懂了这个原理,然后我们就可以开始引入响应式的框架webflux了。

命令式编程与响应式


服务器推技术,Servlet3.0与3.1…

响应式web(一):什么是响应式web,异步调用,callback的本质,servlet3的异步相关推荐

  1. 移动WEB开发五、响应式布局

    零.文章目录 文章地址 个人博客-CSDN地址:https://blog.csdn.net/liyou123456789 个人博客-GiteePages:https://bluecusliyou.gi ...

  2. 响应式web设计_将响应式Web设计超越视觉

    响应式web设计 In this episode of the Versioning Show, David and Tim are joined by Chris Ward, a technical ...

  3. 响应式HTML网页开发,web开发中的响应式网页设计

    概念 响应式网页设计最初是由 Ethan Marcotte 提出的一个概念:为什么一定要为每个用户群各自打造一套设计和开发方案?Web设计应该做到根据不同设备环境自动响应及调整.当然响应式Web设计不 ...

  4. 下一代响应式Web设计:组件驱动式Web设计

    自从著名设计师 Ethan Marcotte(@beep)在 A List Apart上发表了一篇名为< Responsive Web Design>的文章之后,响应式网页设计(RWD,即 ...

  5. 各种风格简洁单页响应式html5模板_简洁 响应式 单页 跳转 设计 案例 源码340多套订餐企业模板高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码css3手机seo自适响

    各种风格简洁单页响应式html5模板_简洁 响应式 单页 跳转 设计 案例 源码340多套订餐企业模板高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码css3手机seo自适响 ...

  6. html5响应式导航条,10个响应式设计的导航菜单源码-附教程

    10个响应式设计的导航菜单源码-附教程 Sponsor 在2013年里,响应式Web设计将会开始普及,我们应该学习这些新技术,尤其作为网页设计师和前端开发人员,学习CSS3样式表和HTML5是必不可少 ...

  7. 南京html5响应式网站,HTML5响应式布局的设计方法和响应式前端优化

    作为一名优秀的web前端人员,不懂响应式布局怎么可以呢? 今天跟大家分享web前端开发和设计的干货:关于响应式布局的设计方法和响应式前端优化. 我们都知道,目前主流的pc屏幕的分辨率都是1366*76 ...

  8. 怎么在服务器端做响应式布局,关于响应式布局的设计方法和响应式前端优化

    原标题:关于响应式布局的设计方法和响应式前端优化 作为一名优秀的web前端人员,不懂响应式布局怎么可以呢? 今天跟大家分享web前端开发和设计的干货.关于响应式布局的设计方法和响应式前端优化. 我们都 ...

  9. 标识响应式html,第一个html5+响应式页面

    闲来无聊研究研究响应式,对html5.响应式一知半解的. 废话少说,直接上代码 1.添加meta标识:大多数移动浏览器将HTML页面放大为宽的视图(viewport)以符合屏幕分辨率.禁止缩放,使用设 ...

  10. CSS - 响应式布局(二)响应式栅格系统

    目录 响应式栅格系统 栅格 栅格系统 响应式栅格系统 BootStrap响应式栅格系统 简单说明 利用SCSS实现BootStrap的响应式栅格系统 响应式栅格系统 栅格 在弄清楚响应式栅格系统前,我 ...

最新文章

  1. QLibrary 动态加载外部库文件
  2. proxool数据库连接池用法
  3. 2021年东城区各学校高考成绩查询,2020年东城区高三一模成绩及高中排名
  4. 用 matlab 爬取期刊影响因子
  5. FCN:Fully Convlutional Networks for semantic segmentation要点
  6. Hadoop hdfs编程案例和java交互
  7. 闭合导线计算matlab代码,【求助】闭合导线简易平差Matlab代码需要大神帮忙
  8. 新商用密码产品认证梳理——标准和材料对比
  9. [Sql2008错误问题] 配置系统未能初始化 0x84B10001
  10. 博思得标签打印机驱动_博思得 Postek 打印机驱动下载
  11. 计算机应用有关的论文,关于计算机应用毕业论文范文精选
  12. react native 8081 端口号被占
  13. Linux下显示IP地理位置信息的小工具—nali(很强大)
  14. php生成各种验证码
  15. 纪录片拍摄前期准备内容
  16. NR RLC Protocol General and Procedure
  17. ANSYS-材料的选择
  18. Docker查看正在运行的容器创建时的命令
  19. 信息安全技术小测试08设备与环境安全
  20. 专有钉钉下载(windows、IOS、Android)地址

热门文章

  1. POJ - 3189 Steady Cow Assignment(二分图多重匹配)
  2. HDU - 1151 Air Raid(最小路径覆盖-二分图最大匹配)
  3. 华三交换机mode是什么意思_交换机中相关术语代表什么意思,有必要弄清楚,赶紧收藏...
  4. 区间第K大(划分树)
  5. cocos2d-x游戏开发(六)自动释放池
  6. 进程间通信 - 邮槽实现
  7. Linux网络编程 | Socket编程(一):Socket的介绍、UDPSocket的封装、UDP服务器/客户端的实现
  8. delete后加 limit是个好习惯么 ?
  9. RabbitMQ负载均衡(2)——HAProxy
  10. MPAI正式启动端到端的AI编码标准