Задержка Кафки продолжает увеличиваться при запуске consumer на другом хосте

#apache-kafka #kafka-consumer-api

Вопрос:

У меня есть производитель Кафки, работающий на хосте A, брокер и потребитель, работающий на хосте B. Производитель отправляет со скоростью около 1500 сообщений в секунду, при этом каждое сообщение занимает около 100 байт в теме только с 1 разделом. Потребитель всегда синхронизирован с производителем, что означает, что задержки вообще нет. Однако после перемещения потребителя на хост C задержка продолжает увеличиваться с нуля в начале до 30 минут через 1 час. Тест пинга дает 100 мс между A и B и 160 мс между B и C. Задержка, по-видимому, исходит от потребителя, поэтому я внес следующие несколько изменений в конфигурацию потребителя, но ни одно из них не уменьшило задержку, а некоторые даже увеличили ее.

  1. Увеличьте максимальное количество разделов.fetch.байт до 4194304 fetch.макс.байт до 209715200
  2. Увеличьте максимальное количество разделов.извлеките.байт до 4194304 извлеките.макс.байт до 209715200 и уменьшите fetch.max.wait.ms до 100 байт выборки.мин.=4096
  3. Увеличьте максимальное количество разделов.извлеките.байт до 4194304 извлеките.макс.байт до 209715200 и уменьшите fetch.max.wait.ms до 1 выборки.мин. байт=1

Потребитель печатает только те сообщения, которые он получает, поэтому задержка не вызвана логикой приложения или GC.

Кто-нибудь может подсказать мне, на что обратить внимание?

Комментарии:

1. Я установил для потребителя значение receive.buffer.bytes=512000, и теперь потребитель всегда отстает от производителя на 9 секунд, что гораздо более предсказуемо. Однако, почему существует задержка в 9 секунд, могу ли я уменьшить ее еще больше?

2. та же задержка с использованием потребителя командной строки, чтобы исключить проблему с приложением или проблему с сетью.