Можем ли мы иметь нулевой срок хранения в брокере Kafka? - PullRequest
2 голосов
/ 15 марта 2019

Имеет ли смысл нулевой срок хранения в кафке-боркере?

Мы хотим быстро переслать сообщение от производителя к потребителю через брокера kafka.От buffercache / pagecache на машине брокера без сброса на диск.Нам не нужна репликация, и мы предполагаем, что наш брокер никогда не потерпит крах.

1 Ответ

2 голосов
/ 15 марта 2019

Когда сообщение создается в теме Кафки, оно записывается на диск.После того как сообщение было использовано, смещение этого сообщения принимается потребителем (если вы используете высокоуровневый потребительский API), однако, нет никакой функциональности, которая удаляет только те сообщения, которые были использованы (многие потребители могут подписаться ната же тема, и некоторые из них, возможно, потребляли это сообщение, в то время как другие могли бы не).

В вашем случае я бы предложил установить короткий срок хранения (который по умолчанию установлен на 7 дней), но предоставить разумное количество времени для того, чтобы ваш потребитель мог использовать сообщения.Для этого вам просто нужно настроить следующий параметр в server.properties:

log.retention.ms=X 

Обратите внимание, что нет никаких гарантий, что удаленные сообщения были успешно использованы вашими потребителями.Например, если вы установите период хранения равным 2 секундам (т.е. log.retention.ms=2000), и ваш потребитель выйдет из строя, то каждое сообщение, отправленное в тему, пока потребитель не работает, будет потеряно.

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