响应式编程与Spring WebFlux实践
1. 响应式编程基础
1.1 响应式编程的起源
在传统服务中,每个请求都会创建一个线程来处理,而应用能管理的线程数量是有限的。例如,一个应用若能处理200个线程,那么它最多只能同时接受200个不同客户端的请求,超出的请求必须等待线程释放。这种可扩展性的硬限制可能会在毫无预警的情况下从非问题演变成危机,且没有简单的解决方案。响应式编程正是为解决这一可扩展性危机而诞生的。
1.2 响应式系统的特性
响应式系统具有以下四个关键特性:
- 响应性(Responsive) :能够及时响应请求。
- 弹性(Resilient) :在面对故障时能保持稳定。
- 伸缩性(Elastic) :可以根据需求灵活调整资源。
- 消息驱动(Message Driven) :通过消息进行通信。
这些特性共同作用,在宏观层面上创建了一个最大限度可用、可扩展且高性能的系统,同时尽可能减少资源的使用。
1.3 响应式流(Reactive Streams)
响应式流(RS)倡议专注于服务之间的交互,包含四个关键元素:
- 应用程序编程接口(API) :由四个接口组成,分别是Publisher(创建者)、Subscriber(消费者)、Subscription(发布者与订阅者之间的契约)和Processor(兼具订阅者和发布者的功能)。
超级会员免费看
订阅专栏 解锁全文
62

被折叠的 条评论
为什么被折叠?



