Если у меня есть Transactional Producer в Kafka, могу ли я читать сообщения с Kafka Streams ровно один раз? - PullRequest
0 голосов
/ 05 июня 2018

Я хотел бы иметь семантику "Точно один раз", но я не хочу читать сообщения с помощью Consumer.Я бы предпочел читать сообщения с Kafka Streams AP.Если я добавлю processing.guarantee = точно_once в конфигурацию потока, будет ли семантика сохранена в точности один раз?

1 Ответ

0 голосов
/ 05 июня 2018

Точно однократная обработка основана на шаблоне чтение-процесс-запись.Kafka Streams использует этот шаблон и, таким образом, если вы напишите обычное приложение Kafka Streams, которое записывает результат обратно в раздел Kafka, вы получите гарантии обработки ровно один раз.

Обратите внимание, что побочные эффекты не рассматриваютсяэтой гарантией.Также обратите внимание, что в случае сбоя возможны внутренние попытки.Ровно один раз подразумевает, что результат, который вы видите в теме вывода, такой же, как если бы не было ошибок (и, следовательно, не повторных попыток).

Для получения более подробной информации вы можете просмотреть запись разговорао точно разовых гарантиях в кафке.На веб-странице Confluent доступно несколько вариантов (заявление об отказе: я работаю в Confluent) : https://www.confluent.io/resources/

...