[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-kafka-kakie-nastroyki-prodyusera-sushchestvuyut":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},801,"kakie-nastroyki-prodyusera-sushchestvuyut",21,"kafka","Kafka","📨","Какие настройки продюсера существуют?","Настройки продюсера определяют сериализацию, буферизацию, сжатие, партицирование и гарантии доставки.\n\n### Bootstrap-серверы\n\n| Настройка | Описание | Пример |\n|-----------|----------|--------|\n| `bootstrap.servers` | Адреса брокеров для подключения и получения метаданных кластера | `localhost:9092,localhost:9093` |\n\n### Сериализация ключа и значения\n\n| Настройка | Описание | Пример |\n|-----------|----------|--------|\n| `key.serializer` | Сериализатор ключа | `StringSerializer` |\n| `value.serializer` | Сериализатор значения | `StringSerializer` |\n\nВарианты сериализаторов: `StringSerializer`, `ByteArraySerializer`, `LongSerializer`, а также пользовательские реализации.\n\n### Отправка сообщений в буфер\n\n| Настройка | Описание | Пример |\n|-----------|----------|--------|\n| `batch.size` | Размер пакета в байтах перед отправкой брокеру | `16384` (16 KB) |\n| `linger.ms` | Максимальное время ожидания перед отправкой пакета | `5` (5 мс) |\n| `buffer.memory` | Общий объём памяти для буферизации сообщений | `33554432` (32 MB) |\n\n### Сжатие\n\n| Настройка | Описание | Значения |\n|-----------|----------|----------|\n| `compression.type` | Тип сжатия для сообщений | `none`, `gzip`, `snappy`, `lz4`, `zstd` |\n\n### Партицирование\n\n| Настройка | Описание | Пример |\n|-----------|----------|--------|\n| `partitioner.class` | Логика выбора партиции для сообщения | `DefaultPartitioner`, `RoundRobinPartitioner`, `UniformStickyPartitioner` |\n\n### Подтверждения (acks)\n\n| Значение | Описание |\n|----------|----------|\n| `0` | Продюсер не ждёт подтверждений — максимальная скорость, высокий риск потери |\n| `1` | Ждёт подтверждения от лидера партиции |\n| `all` (`-1`) | Ждёт подтверждений от всех ISR-реплик — максимальная надёжность |\n\n### Дополнительные настройки\n\n| Настройка | Описание | Пример |\n|-----------|----------|--------|\n| `retries` | Количество повторных попыток при неудаче | `3` |\n| `enable.idempotence` | Включение идемпотентности для exactly-once | `true` |\n| `max.request.size` | Максимальный размер сообщения | `1048576` (1 MB) |\n| `request.timeout.ms` | Таймаут ожидания подтверждения от брокера | `30000` (30 сек) |\n\n> **На собеседовании:** популярный вопрос — объяснить разницу между `acks=0`, `acks=1` и `acks=all`. Покажите, что понимаете компромисс: `acks=0` — fire-and-forget (потеря возможна), `acks=1` — лидер подтвердил (потеря при падении лидера до репликации), `acks=all` — все ISR подтвердили (потеря практически невозможна, но выше latency).","","middle",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":19,"keywords":20,"schemaAnswer":19,"featuredSnippetReady":21},"Какие настройки продюсера существуют? — Gymterview","Настройки продюсера определяют сериализацию, буферизацию, сжатие, партицирование и гарантии доставки.",[7,13],true]