SCSt 的非阻塞 httpclient

non-blocking httpclient for SCSt

在调查 Spring Cloud Data Flow 期间,我观察到 SCSt httpclient 处理器应用一次只会处理一条消息。如果来自端点的响应延迟,这将导致低吞吐量和低 CPU 利用率。例如,5 秒的延迟导致每分钟 12 条消息的最大吞吐量(假设单个消费者。)

是否可以修补或配置 httpclient 以非阻塞方式运行? httpclient 可以循环处理下一条消息,直到收到响应的回调,而不是空转等待响应吗?

异步客户端将面临消息丢失的风险,因为传入消息将在处理完成之前得到确认。

增加 ....consumer.concurrency 将添加更多线程并增加吞吐量。

如果您使用的是 Kafka 绑定器,则至少需要与并发设置一样多的分区。