0

カフカのトピックから一括して(一度に1つずつではなくすべての10kレコードを一括処理するために)一括してメッセージを取得したい。Spring Cloud Stream - メッセージの一括受信

これをSpring Cloud Streamプロセッサで実現する方法はありますか?もしそうなら、私が参照できるスニペットや例がありますか?

おかげ

答えて

1

まあ、残念ながらspring.cloud.stream.kafka.bindings.TARGET.consumer.レベルにはKafkaMessageDrivenChannelAdapter.ListenerMode.batchサポートはまだありません。この問題について自由にお話してください。

一方、回避策として、Spring Integration Aggregatorをカフカのトピックコンシューマとして使用し、実際にアプリケーションレベルでレコードをバッチすることをお勧めします。それ以降は処理のために送信します。

もう1つの回避策は、Kafkaバインダーではなく、Spring Integration Kafka(KafkaMessageDrivenChannelAdapter)を手動で使用するようなものかもしれません。または、@KafkaListenerConcurrentKafkaListenerContainerFactory beanを適切なbatchListenerオプション付きのSpring Kafkaを使用してください。

+0

バインダーにバッチ処理を追加するための公開済みの問題が既にあります(https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/70) –