12、响应式编程与Spring WebFlux实践

响应式编程与Spring WebFlux实践

1. 响应式编程基础

1.1 响应式编程的起源

在传统服务中,每个请求都会创建一个线程来处理,而应用能管理的线程数量是有限的。例如,一个应用若能处理200个线程,那么它最多只能同时接受200个不同客户端的请求,超出的请求必须等待线程释放。这种可扩展性的硬限制可能会在毫无预警的情况下从非问题演变成危机,且没有简单的解决方案。响应式编程正是为解决这一可扩展性危机而诞生的。

1.2 响应式系统的特性

响应式系统具有以下四个关键特性:
- 响应性(Responsive) :能够及时响应请求。
- 弹性(Resilient) :在面对故障时能保持稳定。
- 伸缩性(Elastic) :可以根据需求灵活调整资源。
- 消息驱动(Message Driven) :通过消息进行通信。

这些特性共同作用,在宏观层面上创建了一个最大限度可用、可扩展且高性能的系统,同时尽可能减少资源的使用。

1.3 响应式流(Reactive Streams)

响应式流(RS)倡议专注于服务之间的交互,包含四个关键元素:
- 应用程序编程接口(API) :由四个接口组成,分别是Publisher(创建者)、Subscriber(消费者)、Subscription(发布者与订阅者之间的契约)和Processor(兼具订阅者和发布者的功能)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值