Я использую Kafka в своем Java-приложении.
Когда я отправляю сообщение в Kafka для использования Producer, иногда выбрасываю UNKNOWN_TOPIC_OR_PART
execption, а затем повторно отправляю сообщение, но оно завершается ошибкой с TIMEOUT
execption.
Но если запустить его снова, он будет работать нормально.Это происходит очень периодически ..
Настройка моего продюсера:
Properties props = new Properties();
props.put("bootstrap.servers", servers);
props.put("key.serializer", StringSerializer.class.getCanonicalName());
props.put("value.serializer", StringSerializer.class.getCanonicalName());
props.put("metadata.fetch.timeout.ms", "10000");
producer = new KafkaProducer<>(props);
producer.send(new ProducerRecord<>("log", message), (metadata, exception) -> {
if(exception != null) {
LOGGER.error("Failed to send log - " + message, exception);
LOGGER.debug("Resend log - " + message);
send(message);
}
});
Я не знаю, что является причиной этой проблемы ... Почему это происходит?