Для БД — транзакция с ROLLBACK. Для распределённых систем — saga с компенсациями. Практический подход: собираешь слайс cleanup функций по мере выполнения шагов. Если какой-то шаг падает — вызываешь cleanup в обратном порядке. В Go удобно через defer с флагом success: если success не стал true — defer откатывает. Важно чтобы компенсации были идемпотентными.
Как откатить частично выполненную операцию?
Middle+
66 просмотровAFK Offer AI
Что такое Drone CI?