标签:异步 non 编程 第一章 Reactive 反应式 IO Servlet
What is reactive processing?
Reactive processing is a paradigm that enables developers build non-blocking, asynchronous applications that can handle back-pressure (flow control).
Spring官网对Reactive的解释可能一开始会让人觉得比较简单抽象,但是基本描述了反应式编程模式的几个最重要的特点。
1、non-blocking
首先它是非阻塞IO,异步的。在Servlet 3.0之前,Servlet采用Thread-Per-Request的方式处理请求,即每一次HTTP请求都由某一个线程从头到尾负责处理。如果一个请求需要进行IO操作,那么其线程将同步地等待IO操作完成。为了解决这样的问题,Servlet 3.0引入了异步处理,在Servlet 3.1后又引入了非阻塞IO来进一步增强异步处理的性能。
2、back-pressure
背压,非常抽象。简单的说就是控制生产者生产的速度,以免造成资源的浪费。比如说我只能吃两碗饭你叫不要给我三碗,多了我吃不下,即消费者可以通过背压来控制消费速率。从数据层面来说就是控制流速,避免数据流溢出。
反应式宣言
Reactive systems that are responsive, resilient, elastic, and message-driven.
1、Responsive
即时响应。快速一致的响应能力
2、Resilient
回弹。简单的说有恢复的弹性,系统的故障可以恢复而不会影响整个系统的运行,确保高可用性。
3、Elastic
弹性。系统可以根据工作负载来调整资源的分配。
4、Message-Driven
消息驱动。依赖异步消息驱动的通信机制,保证组件之间的松耦合、隔离性。
标签:异步,non,编程,第一章,Reactive,反应式,IO,Servlet 来源: https://blog.csdn.net/weixin_43190708/article/details/122847934
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。