Я изучаю cqrs и хотел бы реализовать шаблон саги для обработки распределенных транзакций с использованием Kafka.
Сага подписывает событие домена из другого агрегата, чтобы отправить команду. Моя проблема заключается в том, что событие домена также будет обрабатываться обработчиком агрегатных событий.
Если обработчик агрегатных событий успешно обработал событие, смещение будет зафиксировано, так что задание в посреднике пропало.
Скажем, если обработчик агрегатных событий успешно обработал это событие, но сага не запущена из-за какой-то неожиданной проблемы. Так как работа исчезла, сага никогда не сможет забрать событие, если они оба живут в одной группе потребителей ...
Так что имеет ли смысл иметь группу потребителей для совокупности и создать другого потребителя группа для саги?