FFORGE//RS
← Маршрут

distributed systems / УРОВЕНЬ 4

Компенсация выполнилась дважды

ОЦЕНКА40 МИН
01

ТЕОРИЯ / ВОСПРОИЗВЕДЕНИЕ

Что нужно восстановить

  • Отличать saga compensation от atomic rollback/2PC и делать её idempotent

Timeout оставляет outcome неизвестным

Компенсация — новый business action, а не откат памяти. Stable idempotency key и durable state позволяют безопасно retry; completed effects компенсируются в reverse order, duplicates не создают второй economic effect.

КОНТРОЛЬНАЯ ТОЧКА

Refund timeout произошёл после принятия provider. Какое свойство нужно retry?

ISOLATED RUST 1.96
src/lib.rsРЕДАКТИРОВАНИЕ

02 / РЕВЬЮ КОДА

Сделайте код безопасным

Верните одну compensation для каждого distinct completed step в reverse completion order. Duplicate completion evidence не должен дублировать actions.

Инициализация редактора…
ОБЛАЧНЫЙ SANDBOXсеть выключена · 256 МБ · 12 с
1 / 64 KB
ВЫВОД
Runner ждёт отправки кода.