0

Ich möchte in regelmäßigen Abständen einen Stapel Nachrichten (sagen wir 10000 Nachrichten) von einem Kafka-Thema abrufen (für die Bulk-Verarbeitung aller 10k-Datensätze gleichzeitig statt nacheinander).Spring Cloud Stream - Batch-Empfang von Nachrichten

Gibt es eine Möglichkeit, dies in einem Spring Cloud Stream-Prozessor zu erreichen? Wenn ja, gibt es irgendwelche Ausschnitte oder Beispiele, auf die ich mich beziehen kann?

Dank

Antwort

1

Nun, leider gibt es noch keine KafkaMessageDrivenChannelAdapter.ListenerMode.batch Unterstützung auf der spring.cloud.stream.kafka.bindings.TARGET.consumer. Ebene. Fühlen Sie sich frei, ein Problem in dieser Angelegenheit anzusprechen.

Als Workaround kann ich vorschlagen, Spring Integration Aggregator als Kafka Topic Consumer zu verwenden, um Datensätze auf Anwendungsebene zu chargen. und erst danach senden Sie sie zur Verarbeitung.

Nun, eine andere Problemumgehung könnte wie die Verwendung von Spring Integration Kafka (KafkaMessageDrivenChannelAdapter) manuell, nicht Kafka Binder sein. Oder benutzen Sie einfach Spring Kafka mit seiner @KafkaListener und ConcurrentKafkaListenerContainerFactory Bohne mit passender batchListener Option.

+0

Es gibt bereits ein [Problem mit der Stapelverarbeitung zum Binder hinzufügen] (https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/70) –

Verwandte Themen