ID события создаёт источник при фиксации бизнес-события и сохраняет вместе с ним. При повторной отправке тот же ID должен сохраняться.
Откуда брать ID события для идемпотентности и где его генерировать?
ID события создаёт источник при фиксации бизнес-события и сохраняет вместе с ним. При повторной отправке тот же ID должен сохраняться.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
ID события создаёт источник при фиксации бизнес-события и сохраняет вместе с ним. При повторной отправке тот же ID должен сохраняться.
Для outbox запись события и бизнес-изменение фиксируются в одной транзакции. Получатель хранит обработанные ID в своей области дедупликации, например с именем обработчика. Генерация нового ID при каждом retry разрушает идемпотентность. ID запроса, бизнес-операции и события могут различаться: одна операция способна породить несколько разных событий.