Reactor 响应式编程简述 01

这里是引用

Reactor 响应式编程简述 01

一、概述

一个大型应用系统可能会部署在几百台服务器上,响应时间为秒级,每天产生GB级的数据。随着移动设备的普及,应用程序需要部署在数以千计或万计的云端集群上,用户对响应时间的需求也提高到了豪秒级,每天产生的数据也达到了PB级,这对当今的系统架构提出新的挑战。基于此,一些组织开发出了响应式系统。响应式系统具有4个特性。
在这里插入图片描述

  • 可响应:系统尽可能地响应。
  • 可恢复:系统出错的情况下也可以响应。
  • 可伸缩:系统在各种负载下都可以响应。
  • 消息驱动:系统通过异步传递消息。

响应式编程是一个专注于数据交流和变化传递的异步编程范式。这意味着可以使用编程语言很容易地表示静态(如数组)或动态(如事件发射器)数据流,在执行过程中数据流之间有一定的关系,关系的存在有利于数据的自动变更。
具体分析如下:

  • 首先,响应式编程是一种编程范式,是一种编程规范,和平时的声明式编程、命令式编程、函数式编程一样。
  • 其次,从过去的面向过程开发,到后来的向对象开发,响应式编程是面向流开发。
  • 总结,一种面向数据流的响应式编码方式。

1.1 用餐厅类比

在这里插入图片描述

对于每个新来的顾客,前台都需要找到一个服务员和厨师来服务这个顾客。

  1. 服务员给出菜单,并等待点菜
  2. 顾客查看菜单,并点菜
  3. 服务员把菜单交给厨师,厨师照着做菜
  4. 厨师做好菜后端到餐桌上
    在这里插入图片描述

最后,老板发现根本不需要那么多的服务员,于是裁了一波员,最终甚至可以只有一个服务员。
这就是 Reactor 模式的核心思想:减少等待。当遇到需要等待 IO 时,先释放资源,而在 IO 完成时,再通过事件驱动 (event driven) 的方式,继续接下来的处理。从整体上减少了资源的消耗。

二、Reactive Streams(响应式流)标准

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

征客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值