Senior
43
Konfigurowaliście Kafka Producer? Jakie ustawienia znacie?
Firmy, w których zadano pytania
Odpowiedź od AI
sobes.tech AI
При настройке Kafka Producer в Java обычно конфигурируют следующие ключевые параметры:
bootstrap.servers— адреса Kafka брокеров для подключения.key.serializerиvalue.serializer— классы для сериализации ключей и значений сообщений.acks— уровень подтверждения записи (например,allдля максимальной надежности).retries— количество попыток повторной отправки при ошибках.batch.size— размер батча сообщений для оптимизации производительности.linger.ms— задержка перед отправкой батча, чтобы собрать больше сообщений.buffer.memory— объем памяти, выделенный под буфер сообщений.compression.type— тип сжатия сообщений (none,gzip,snappy,lz4,zstd).
Пример настройки:
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("acks", "all");
props.put("retries", 3);
props.put("batch.size", 16384);
props.put("linger.ms", 1);
props.put("buffer.memory", 33554432);
KafkaProducer<String, String> producer = new KafkaProducer<>(props);
Эти настройки позволяют балансировать между надежностью, производительностью и задержками при отправке сообщений.