Kafka установил тип сжатия у производителя и в теме

В чем разница между следующими способами включения сжатия в кафке:

Подход 1. Создайте тему с помощью команды:

bin/kafka-topics.sh --create --zookeeper localhost:2181 --config compression.type=gzip --topic test

Подход 2: установите свойство compress.type = gzip в API клиента Kafka Producer.

Я получаю лучшее сжатие и более высокую пропускную способность при использовании подхода 1.

Если я использую подход 1, означает ли это, что сжатие происходит на стороне брокера, в то время как в подходе 2 сообщения сжимаются на стороне производителя, а затем отправляются брокеру?


person shants    schedule 07.02.2018    source источник


Ответы (1)


Если я использую подход 1, означает ли это, что сжатие происходит на стороне брокера?

Это зависит. Если производитель не устанавливает compression.type или устанавливает другой, то сообщение будет сжато на стороне брокера. Однако, если производитель также устанавливает compression.type в gzip, нет необходимости повторно выполнять сжатие на стороне брокера. На самом деле, есть и другие строгие условия, которые должны быть соблюдены, чтобы не было необходимости в сжатии, хотя это немного выходит за рамки.

в подходе 2 сообщения сжимаются на стороне производителя и затем отправляются брокеру?

Да, записи будут сжиматься перед отправкой брокеру, если производитель устанавливает свою конфигурацию compress.type.

person amethystic    schedule 08.02.2018
comment
есть другие строгие условия, которые должны быть соблюдены, чтобы не было необходимости сжимать, вы можете уточнить? Я думаю, это имеет отношение к вопросу, если брокер все равно повторно сжимает, тогда это пустая трата ресурсов процессора, чтобы сделать это у производителя. Где я могу найти информацию о сценариях, когда это происходит? - person dtheodor; 21.09.2018
comment
Я также был бы признателен за некоторую проработку этих других строгих условий, даже если бы только в качестве ссылки на соответствующий исходный код. - person Simon Lepkin; 03.07.2019
comment
@SimonLepkin См. stackoverflow.com/a/59902540/4594699 для получения дополнительной информации. Эта информация получена после прочтения исходного кода и технического документа о том, как настроить вашу установку Kafka. - person Ashhar Hasan; 28.01.2020