Может ли потребитель Kafka читать записи из кеша страниц брокера? - PullRequest
0 голосов
/ 08 октября 2018

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

Мой вопрос: может ли потребитель прочитать запись, которая находится в кеше страницы, ночто еще не было сброшено ядром на диск?

Если ответ положительный, как потребитель будет отслеживать смещение, из которого он считывает?

Если ответ отрицательный, это будет означать, что запись должна быть прочитана обратно с диска в кэш страницы, прежде чем она будет отправлена ​​в NIC через нулевое копирование.Правильно?

Спасибо,

1 Ответ

0 голосов
/ 09 октября 2018

Всякий раз, когда в файл выполняется операция чтения / записи, данные сначала записываются / извлекаются в кэш страницы.В случае чтения, если данные уже присутствуют на странице кэша, фактическое чтение с диска не вызывается, и данные подаются из кэша страницы.Дело не в том, что потребитель kafka читает из кэша страниц брокера, это делается файловой системой и скрывается от фактического вызова read.В большинстве случаев записи из kafka читаются последовательно, что позволяет эффективно использовать кеш страниц.

Оптимизация нулевого копирования используется при каждом чтении из клиента kafka, копируя данные непосредственно из кеша страниц в буфер NIC.,

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