270.8.2. 控制 Backpressure (消费者侧)

当 Camel 消耗来自 Reactive-streams publisher 的项时,动态交换的最大数量可以设置为端点选项。

与消费者关联的订阅者与发布者交互,以使路由中的消息数量低于阈值。

backpressure-aware 路由示例:

from("reactive-streams:numbers?maxInflightExchanges=10")
.to("direct:endpoint");

Camel 向源发布者请求(通过被动流后端机制)的项数量始终低于 10。消息由 Camel 一侧的单个线程处理。

并发使用者(线程)的数量也可以设置为端点选项(并发Consumers)。使用 1 个消费者(默认值)时,源流中的项目顺序会被维护。当此值增加时,项目将由多个线程同时处理(因此不会保留顺序)。