如何配置Kafka使用者只处理一次消息?

时间:2018-05-15 07:39:22

标签: apache-kafka

Kafka使用者是否有任何配置只能读取一次传入消息?我希望我的消息按顺序排列,应该只读一次。

1 个答案:

答案 0 :(得分:0)

由于0.11版本的Kafka可以通过将processing.guarantee属性设置为exact_once来配置为保证一次。

以下是使用Kafka的Stream API设置属性的代码段。 希望它有所帮助。

import org.apache.kafka.streams.kstream.KStreamBuilder;
import org.apache.kafka.streams.KafkaStreams;
import org.apache.kafka.streams.StreamsConfig;
import java.util.Properties;

Properties config = new Properties();
config.put(StreamsConfig.PROCESSING_GUARANTEE_CONFIG, StreamsConfig.EXACTLY_ONCE);

KStreamBuilder builder = new KStreamBuilder();
KafkaStreams streams = new KafkaStreams(builder, config);
streams.start();

参考:https://kafka.apache.org/documentation/streams/