- broker.id - default -1, уникальный идентификатор брокера в zookeeper. Если не задать, зукипер сгенерирует сам
- zookeeper.connect - строка подключения к zookeeper в виде
hostname:port
. Можно указать несколько зукиперов, на случай если один будет недоступен, в видеhostname1:port1,hostname2:port2,hostname3:port3
- listener.security.protocol.map - не разобрался
- advertised.listeners - не разобрался
- offsets.topic.replication.factor - default 3, коэффициент репликации для офсета топика. Не может быть больше чем брокеров в кластере
- transaction.state.log.min.isr - default 2, переопределяет
min.insync.replicas
специально для топика транзакции. Не может быть больше чем брокеров в кластере - transaction.state.log.replication.factor, default 3, коэффициент репликации для топика транзакции. Не может быть больше чем брокеров в кластере
- auto.create.topics.enable - true/false, default true, разрешает или запрещает автоматическое создание топиков консьюмером
- compression.type - default producer, определяет, будет ли применяться компрессия к топику. По умолчанию, кодек выбирает консьюмер. Возможно значение uncompressed, то есть без компрессии
- delete.topic.enable - default true, разрешает или запрещает удаление топиков
- min.insync.replicas - default 1, определяет минимальное количество реплик, которые должны отрапортовать об успешной записи. Если это условие не выполнено, будет выброшено исключение
- request.timeout.ms - default 30000, время ожидания клиентом ответа на запрос. По истечении, будет ретрай, если они остались
- default.replication.factor - default 1, Коэффициенты репликации по умолчанию для АВТОМАТИЧЕСКИ создаваемых топиков. Рекомендуется ставить 3. Не может быть больше чем брокеров в кластере
- num.partitions, default 1, количество партиций в топике по умолчанию
- log.cleanup.policy, default delete, определяет что делать со старыми сообщениями: сжимать или удалять
- cleanup.policy, default delete, определяет что делать со старыми сообщениями: сжимать или удалять
- compression.type - default producer, определяет, будет ли применяться компрессия к топику. По умолчанию, кодек выбирает консьюмер. Возможно значение uncompressed, то есть без компрессии
- min.insync.replicas - default 1, определяет минимальное количество реплик, которые должны отрапортовать об успешной записи. Если это условие не выполнено, будет выброшено исключение
- acks, default 1, определяет сколько подтверждений нужно получить что бы брокер прислал в ответ успешную запись сообщения: просто отправить, получить подтверждение от лидера, получить подтверждение от ISR
- bootstrap.servers, список брокеров в кластере, к которым будет произведено подключение. Достаточно и одного, дальше кафка всё сделает сама, но лучше несколько если один будет недоступен
- compression.type, default none, определяет, будет ли производится сжатие данных, отправляемых продюсером
- client.id, идентификатор продюсера, используется только для справочной информации, например в логах
- enable.idempotence, default false. Если включить, то продюсер будет контролировать, что бы записалась только одна копия сообщения
- max.in.flight.requests.per.connection, default 5, непонятно, но надо ставить в 1, что бы работала идемпотентность
- request.timeout.ms - default 30000, время ожидания клиентом ответа на запрос. По истечении, будет ретрай, если они остались
- bootstrap.servers, список брокеров в кластере, к которым будет произведено подключение. Достаточно и одного, дальше кафка всё сделает сама, но лучше несколько если один будет недоступен
- group.id, идентификатор группы, которой принадлежит консьюмер
- heartbeat.interval.ms, отвечает за то, как часто отправляется хартбит
- session.timeout.ms, отвечает за то, как долго консьюмер может работать не отправляя хартбит. Должно быть больше
чем
heartbeat.interval.ms
- allow.auto.create.topics, default true, разрешать или запрещать консьюмеру создавать топик, если его нет
- auto.offset.reset, default latest, в случае какого-либо сбоя отвечает за то, с какого сообщения консьюмер начнет вычитывать - с саммого ранненого или с самого позднего
- enable.auto.commit, default true, отвечает за то, будет ли производиться автоматический коммит оффсета
- max.poll.interval.ms, default 300000, максимальная задержка между вызовами функции
poll()
. По истечении времени, консьюмер будет считаться мертвым и начнется ребалансировка - partition.assignment.strategy, default class org.apache.kafka.clients.consumer.RangeAssignor, способ распределения партиций между консьюмерами
- client.id, идентификатор консьюмера, используется для логирования
- request.timeout.ms - default 30000, время ожидания клиентом ответа на запрос. По истечении, будет ретрай, если они остались