Сколько времени потребляют кафки - PullRequest
0 голосов
/ 09 марта 2020

Какова временная сложность потребителя Kafka в большом O. Метаданные смещения, которые поддерживает Kafka, учитывают сложность O (1) для операций чтения

1 Ответ

0 голосов
/ 10 марта 2020

Краткий ответ - нет, время зависит от количества и размера использованных evets, конфигурации сети и опроса.
Можно сказать, что обычный случай должен быть довольно быстрым, включающим только доступ к памяти и незначительные накладные расходы сети.

Если вы знаете смещение, которое вы ищете, или просто хотите получить события из последнего зафиксированного смещения, вы сразу узнаете номер смещения, но процесс потребления также задействует получение данных от брокера / ов и отправить его потребителю.

Кафка сохраняет последние события в памяти, а затем выливает их на диск кусками. Потребление из памяти является относительно быстрым, но все же нетрудно определить его как «O (1)».
Таким образом, при условии, что вы читаете с последнего смещения и ожидаете новых событий, если сконфигурированы правильно, брокер / и удерживает разделы topi c должен иметь все требуемые события, доступные в памяти, и общее время опроса, т. е. отнимает время, которое требуется брокеру на доступ к памяти и отправку новых событий по сети.

Кроме того, если в topi c создается небольшое количество событий, опрос потребителей может завершиться sh только при срабатывании тайм-аута опроса, в этом случае вы, вероятно, столкнулись с ситуацией, когда вы ждали бездействия без выполнения в течение некоторого времени ничего не происходит.
Также, если просто произойдет перебалансировка Kafka Coordonator (маловероятно), это может вызвать дальнейшую задержку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...