Как я могу прочитать последнюю запись в Кафке? - PullRequest
0 голосов
/ 29 января 2019

Я использую клиентскую библиотеку .NET из Confluent.

Мне нужно подключиться к теме и прочитать последнее записанное сообщение.Я не могу использовать абсолютное смещение, потому что я его не знаю, и логические смещения не помогают.В частности, Offset.End помещает курсор на после последней записи, следовательно, любой последующий вызов чтения (например, Consume) вернет либо более новую запись, если она доступна, либо null, но не последний доступный в самый момент вызова.

Мне действительно интересно, является ли это разумным вариантом использования на языке Кафки (я довольно новичок в этом).Я нашел несколько примеров подобных случаев, но ничто не объясняет этот случай, и я не могу найти хороший способ адаптировать эти другие случаи к моим.Я также пытался сделать некоторую арифметику с курсорами, например, суммировать / вычитать их (то есть Offset.End-1 или Offset.End-new Offset(1)), но я получаю явно ненормальные курсоры, которые нельзя использовать.Что заставляет меня задуматься: почему + и - вообще были определены для Offset, если тогда они позволяют вам создавать недопустимые значения?Но это другая история.

1 Ответ

0 голосов
/ 30 января 2019

установите свойство auto.offset.reset на самое последнее, и ваш потребитель всегда будет читать последнюю запись.

...