Spring Cloud Stream - 批量接收消息
Spring Cloud Stream - Batch receiving of messages
我想定期从 Kafka 主题中获取一批消息(比如 10000 条消息)(以便一次批量处理所有 10k 条记录,而不是一条一条地处理)。
有没有办法在 Spring 云流处理器中实现这一点?如果是这样,是否有任何片段或示例可供我参考?
谢谢
嗯,不幸的是,spring.cloud.stream.kafka.bindings.TARGET.consumer.
级别上仍然没有 KafkaMessageDrivenChannelAdapter.ListenerMode.batch
支持。欢迎就此事提出问题。
同时,作为一种解决方法,我建议使用 Spring 集成 Aggregator
作为 Kafka 主题消费者,以便在应用程序级别真正批量记录。然后才发送它们进行处理。
好吧,另一种解决方法可能是手动使用 Spring Integration Kafka (KafkaMessageDrivenChannelAdapter
),而不是 Kafka Binder。或者只使用 Spring Kafka 及其 @KafkaListener
和 ConcurrentKafkaListenerContainerFactory
bean 以及适当的 batchListener
选项。
我想定期从 Kafka 主题中获取一批消息(比如 10000 条消息)(以便一次批量处理所有 10k 条记录,而不是一条一条地处理)。
有没有办法在 Spring 云流处理器中实现这一点?如果是这样,是否有任何片段或示例可供我参考?
谢谢
嗯,不幸的是,spring.cloud.stream.kafka.bindings.TARGET.consumer.
级别上仍然没有 KafkaMessageDrivenChannelAdapter.ListenerMode.batch
支持。欢迎就此事提出问题。
同时,作为一种解决方法,我建议使用 Spring 集成 Aggregator
作为 Kafka 主题消费者,以便在应用程序级别真正批量记录。然后才发送它们进行处理。
好吧,另一种解决方法可能是手动使用 Spring Integration Kafka (KafkaMessageDrivenChannelAdapter
),而不是 Kafka Binder。或者只使用 Spring Kafka 及其 @KafkaListener
和 ConcurrentKafkaListenerContainerFactory
bean 以及适当的 batchListener
选项。