Фиксируйте только тему вывода в Kafka Streams - PullRequest
0 голосов
/ 27 ноября 2018

Я хочу создать приложение Kafka Streams, которое получает сообщения типа A.Для каждого ввода A приложению необходимо выдать несколько массивов из B выходов (обычная операция flatMap).

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

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

Похоже на Processor APIможет помочь мне, так как я могу управлять состоянием подкомитетов .

Итак,

  1. Имеет ли этот дизайн смысл?(ничего подобного не видел при поиске, поэтому я немного подозрительно)
  2. Как я могу программно subcommit ?(т. е. зафиксировать только в теме вывода)

1 Ответ

0 голосов
/ 27 ноября 2018

Фиксирование смещения в Кафке основано на входных сообщениях.Таким образом, если у вас есть одна входная запись, то есть flatMap, в несколько выходных сообщений, вы не можете разделить коммит на несколько.Либо вы фиксируете входное сообщение, либо нет.

В Кафке нет концепции фиксации выходных сообщений.

...