カフカのトピックから一括して(一度に1つずつではなくすべての10kレコードを一括処理するために)一括してメッセージを取得したい。Spring Cloud Stream - メッセージの一括受信
これをSpring Cloud Streamプロセッサで実現する方法はありますか?もしそうなら、私が参照できるスニペットや例がありますか?
おかげ
カフカのトピックから一括して(一度に1つずつではなくすべての10kレコードを一括処理するために)一括してメッセージを取得したい。Spring Cloud Stream - メッセージの一括受信
これをSpring Cloud Streamプロセッサで実現する方法はありますか?もしそうなら、私が参照できるスニペットや例がありますか?
おかげ
まあ、残念ながらspring.cloud.stream.kafka.bindings.TARGET.consumer.
レベルにはKafkaMessageDrivenChannelAdapter.ListenerMode.batch
サポートはまだありません。この問題について自由にお話してください。
一方、回避策として、Spring Integration Aggregator
をカフカのトピックコンシューマとして使用し、実際にアプリケーションレベルでレコードをバッチすることをお勧めします。それ以降は処理のために送信します。
もう1つの回避策は、Kafkaバインダーではなく、Spring Integration Kafka(KafkaMessageDrivenChannelAdapter
)を手動で使用するようなものかもしれません。または、@KafkaListener
とConcurrentKafkaListenerContainerFactory
beanを適切なbatchListener
オプション付きのSpring Kafkaを使用してください。
バインダーにバッチ処理を追加するための公開済みの問題が既にあります(https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/70) –