Настройки брокера определяют поведение репликации, хранения, производительности и безопасности.
Репликация и консистентность
| Настройка |
Описание |
Пример |
min.insync.replicas |
Минимальное количество синхронизированных реплик для подтверждения записи |
min.insync.replicas=2 |
unclean.leader.election.enable |
Разрешает выбор лидера из неактуальных реплик, если нет синхронизированных |
false |
Логирование и хранение данных
| Настройка |
Описание |
Пример |
log.dirs |
Директория для хранения логов партиций |
/var/lib/kafka/logs |
log.retention.hours |
Максимальное время хранения данных в логах |
168 (7 дней) |
log.segment.bytes |
Максимальный размер сегмента лога |
1073741824 (1 GB) |
Производительность и задержки
| Настройка |
Описание |
Пример |
num.network.threads |
Количество потоков для обработки сетевых запросов |
3 |
num.io.threads |
Количество потоков для ввода-вывода |
8 |
socket.send.buffer.bytes |
Размер буфера для отправки данных по сети |
102400 |
Управление сообщениями
| Настройка |
Описание |
Пример |
message.max.bytes |
Максимальный размер сообщения |
1048576 (1 MB) |
replica.fetch.max.bytes |
Максимальный размер данных для запроса реплики |
1048576 (1 MB) |
Безопасность
| Настройка |
Описание |
Пример |
ssl.keystore.location |
Путь к хранилищу ключей SSL |
/var/private/ssl/kafka.keystore.jks |
ssl.truststore.location |
Путь к хранилищу доверенных сертификатов |
/var/private/ssl/kafka.truststore.jks |
На собеседовании: обратите внимание на unclean.leader.election.enable=false — это критически важная настройка. Если включить её (true), то при потере всех ISR-реплик лидером может стать отставший брокер, что приведёт к потере данных.