使用KafkaProducer发送精确的一个ProducerRecord

时间:2019-06-30 14:42:21

标签: apache-kafka

在什么配置下,可以仅通过KafkaProducer发送一个ProducerRecord以便不批量发送消息?

还是无法使用KafkaProducer仅发送一条记录?

(使用Kafka Streams可以只处理一条记录并将其发送到主题)。

我当前的配置是:

  Properties kafkaProps = new Properties();
  kafkaProps.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
  kafkaProps.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
  kafkaProps.put(ProducerConfig.ACKS_CONFIG, "1");
  kafkaProps.put("retries", 3);
  kafkaProps.put(ProducerConfig.REQUEST_TIMEOUT_MS_CONFIG, 120000);
  kafkaProps.put(ProducerConfig.BATCH_SIZE_CONFIG, 1024);
  kafkaProps.put(ProducerConfig.LINGER_MS_CONFIG, 0);
  kafkaProps.put(ProducerConfig.BUFFER_MEMORY_CONFIG, 1024);
  kafkaProps.put("compression.type", "gzip");
  KafkaProducer producer = new KafkaProducer<String, String>(kafkaProps);

1 个答案:

答案 0 :(得分:0)

您可以在flush之后立即producer send