Как реагирует брокер, когда обнаруживает нарушение квоты (задержка квоты Кафки)? - PullRequest
0 голосов
/ 02 октября 2019

В кластере Kafka с определенными квотами для управления ресурсами брокера, которые используются клиентами, брокер вычисляет величину задержки, необходимую для приведения нарушающего клиента в свою квоту, и немедленно возвращает ответ с задержкой Источник из документации Apache Kafka .

В этой теме я хотел бы знать, на что ссылается задержка (с конкретным примером, пожалуйста)?

Насколько я знаю, когда мы определяем, например,producer_byte_rate=1024, брокер следит за тем, чтобы производитель не переопределял 1024o / sec, если производитель переопределяет 1024o / sec, если брокер собирается отключить клиента по его квоте путем регулирования канала, зарезервированного для этого клиента.

1 Ответ

1 голос
/ 02 октября 2019

Поведение при попадании клиента в квоту, измененную недавно

Начиная с Kafka 2.0: когда брокер обнаруживает, что клиент нарушает квоту, брокер вычисляет задержку, необходимую для возврата клиента в допустимую квоту. и отвечает немедленно (включая вычисленную задержку в ответе). Затем брокер отключает клиентский сокет, чтобы он не обрабатывал больше запросов от этого клиента на время задержки.

После получения ответа с периодом ожидания «хороший» клиент должен ждать задержкипрежде чем пытаться отправить больше запросов. Все запросы, отправленные в течение этого периода, игнорируются брокером.

До версии 2.0.0: при нарушении вместо немедленного ответа брокер ждал длительность регулирования и только после этого отправлял ответ клиенту.

...