AK
Недавно начал осваивать Kafka и возник такой вопрос: существует ли какая то встроенная поддержка сценария, когда интересует не непрерывная обработка каких либо событий/данных, а когда нужно передать ограниченный набор данных, обработать его, сохранить в БД и лишь после того, как consumers отработат всю переданную пачку - сделать какое-либо действие?
К примеру, каждый день в определенный момент времени приходит data set размером n записей.
Успешно кладем это в очередь, успешно обрабатываем consumer(ами)...И дальше непонятно - как consumer может узнать что n(ое) сообщение последнее и выполнить какой-либо action, т.к только producer знает сколько их было всего.
Пока в голову приходит следующая реализация: обеспечить чтение в той же последовательности как запись и последним в очередь добавлять специальный объект-маркер, обрабатывая который сервис поймет что это последний объект в цепочке.