Вопрос проверяет понимание гарантий доставки сообщений и того, как применяются механизмы идемпотентности для достижения "практически один раз".
Короткий ответ
Существуют три уровня доставки: at-most-once (сообщение может потеряться), at-least-once (сообщение будет доставлено, но возможны дубли), и exactly-once (каждое сообщение обрабатывается ровно один раз). Настоящий exactly-once почти невозможен в распределённых системах, но его можно приблизить с помощью идемпотентности обработчика, дедупликации сообщений, транзакций в базе и атомарного подтверждения обработки. Обычно создают таблицу обработанных событий и выполняют операции в рамках одной транзакции, чтобы повторный ретрай не нарушал данные.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.