我正在使用Kafka生产者0.8.2,尝试以立即发送消息的方式将单个消息发送到主题。我有一个控制台消费者来观察消息是否到达。我注意到,除非我立即运行producer.close(),否则消息不会立即发送,而这并不是我想要做的。
正确的生产者配置设置是什么?我正在使用以下配置(我知道它看起来像一堆不同的配置/版本,但我在文档中找不到像我期望的那样工作的东西):
正确的生产者配置设置是什么?我正在使用以下配置(我知道它看起来像一堆不同的配置/版本,但我在文档中找不到像我期望的那样工作的东西):
Properties props = new Properties();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, brokersStr);
props.put(ProducerConfig.RETRIES_CONFIG, "3");
props.put("producer.type", "sync");
props.put("batch.num.messages", "1");
props.put(ProducerConfig.ACKS_CONFIG, "all");
props.put(ProducerConfig.COMPRESSION_TYPE_CONFIG, "none");
props.put(ProducerConfig.BATCH_SIZE_CONFIG, 1);
props.put(ProducerConfig.BLOCK_ON_BUFFER_FULL_CONFIG, true);
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");