Я пытаюсь заполнить тему kafka некоторыми тестовыми данными, такими как:
public static void main(String[] args){
Properties properties = new Properties();
properties.put("bootstrap.servers", "192.168.0.2:9092");
properties.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
properties.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
KafkaProducer<String, String> kafkaProducer = new KafkaProducer<String, String>(properties);
try{
for(int i = 0; i < 100; i++){
System.out.println(i);
kafkaProducer.send(new ProducerRecord<String, String>("my_topic", "{\"key\":\"my-json-1500-symblos-long\"}"));
}
}catch (Exception e){
e.printStackTrace();
}finally {
kafkaProducer.close();
}
}
И процесс ЦП для этой простой "программы" занимает около 3-6 ГБ памяти: ![enter image description here](https://i.stack.imgur.com/bFuuD.png)
И работает крайне медленно - около 2-3 минут на хранение 1 сообщения.
Что не так с кафкой?Почему для отправки всего 1,5 Кб сообщения требуется столько памяти?
* Примечание Кафка запускается в док-контейнере, Java-потребитель на хост-машине.
ОБНОВЛЕНО
Если при выборе JVM добавлено -Xmx1g
, я получил:
java.lang.OutOfMemoryError: Java heap space
at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:57)