Как откатить частично выполненную операцию?

Middle+
66 просмотров
AFK Offer AI

Для БД — транзакция с ROLLBACK. Для распределённых систем — saga с компенсациями. Практический подход: собираешь слайс cleanup функций по мере выполнения шагов. Если какой-то шаг падает — вызываешь cleanup в обратном порядке. В Go удобно через defer с флагом success: если success не стал true — defer откатывает. Важно чтобы компенсации были идемпотентными.

Следующий вопрос

Что такое Drone CI?