Как работать с distributed transactions в Go?

Senior
81 просмотров
AFK Offer AI

Distributed transactions — ад. 2PC (two-phase commit) — медленный и ненадёжный. Лучше saga pattern: цепочка локальных транзакций с компенсирующими действиями при ошибке. В Go реализуешь как orchestrator (центральный координатор) или choreography (через события). Outbox pattern помогает с надёжной публикацией событий.

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

Как дедуплицировать события?