java Kafka Producer-发送大量消息

时间:2017-08-17 09:59:17

标签: java apache-kafka kafka-producer-api

我正在尝试向Kafka主题发送300,000条消息,每条消息的大小约为1500字节。

发送的第一封299,996条消息不到一分钟,但随后Kafka暂停了一段时间,并且不发送其余消息。很奇怪。

我的Kafka制作人配置:

    private void initKafka() {
    Properties configProperties = new Properties();
    configProperties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaLocation);
    configProperties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");
    configProperties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");
    kafkaProducer = new KafkaProducer<String, String>(configProperties);
}

我的代码:

    for (ResponseDocument responseDocument : documents.getDocuments()) {
                try {
                    LinkedHashMap<String, Collection<? extends Object>> fields = convertToMap(responseDocument);
                    String jsonDoc = objectMapper.writeValueAsString(fields);
                    String docId =  responseDocument.getFirstValueAsString(".id");
                    ProducerRecord<String, String> record = new ProducerRecord<String, String>(kafkaTopic, docId, jsonDoc);
                    kafkaProducer.send(record);
                } catch (Exception e) {
                    LOGGER.error(ErrorCode.DATA_ACCESS_ERROR, "Failed to send document with .id {0}: {1}",responseDocument.getId(), e.getMessage());
                }
            }

我尝试使用配置,发送消息的数量(更改为250,000)以及其他一些人认为...

有什么想法吗?

谢谢你的到来。

0 个答案:

没有答案