SCSt 的非阻塞 httpclient
non-blocking httpclient for SCSt
在调查 Spring Cloud Data Flow 期间,我观察到 SCSt httpclient 处理器应用一次只会处理一条消息。如果来自端点的响应延迟,这将导致低吞吐量和低 CPU 利用率。例如,5 秒的延迟导致每分钟 12 条消息的最大吞吐量(假设单个消费者。)
是否可以修补或配置 httpclient 以非阻塞方式运行? httpclient 可以循环处理下一条消息,直到收到响应的回调,而不是空转等待响应吗?
异步客户端将面临消息丢失的风险,因为传入消息将在处理完成之前得到确认。
增加 ....consumer.concurrency
将添加更多线程并增加吞吐量。
如果您使用的是 Kafka 绑定器,则至少需要与并发设置一样多的分区。
在调查 Spring Cloud Data Flow 期间,我观察到 SCSt httpclient 处理器应用一次只会处理一条消息。如果来自端点的响应延迟,这将导致低吞吐量和低 CPU 利用率。例如,5 秒的延迟导致每分钟 12 条消息的最大吞吐量(假设单个消费者。)
是否可以修补或配置 httpclient 以非阻塞方式运行? httpclient 可以循环处理下一条消息,直到收到响应的回调,而不是空转等待响应吗?
异步客户端将面临消息丢失的风险,因为传入消息将在处理完成之前得到确认。
增加 ....consumer.concurrency
将添加更多线程并增加吞吐量。
如果您使用的是 Kafka 绑定器,则至少需要与并发设置一样多的分区。