273.9.2. 控制 Backpressure (消费者侧)
当 Camel 消耗来自 Reactive-streams publisher 的项时,动态交换的最大数量可以设置为端点选项。
与消费者关联的订阅者与发布者交互,以使路由中的消息数量低于阈值。
backpressure-aware 路由示例:
from("reactive-streams:numbers?maxInflightExchanges=10") .to("direct:endpoint");
Camel 向源发布者请求(通过被动流后端机制)的项数量始终低于 10
。消息由 Camel 一侧的单个线程处理。
并发使用者(线程)的数量也可以设置为端点选项(并发Consumers
)。使用 1 个消费者(默认值)时,源流中的项目顺序会被维护。当此值增加时,项目将由多个线程同时处理(因此不会保留顺序)。