Saga is too complex?
1:13

Saga is too complex?

CodeOpinion 15.05.2026 2 436 просмотров 60 лайков

Machine-readable: Markdown · JSON API · Site index

Поделиться Telegram VK Бот
Транскрипт Скачать .md
Анализ с AI
Описание видео
Are your workflows constantly getting stuck in a "Pending" state? In a distributed system, we often lean on Sagas to coordinate complex processes, but they have a fatal flaw: a Saga is not the source of truth. In this video, I’ll show you why treating a Saga as the ultimate authority leads to data inconsistency, especially when dealing with external API timeouts and "uncertain" failures. Using a common checkout and payment example, we’ll explore why adding more edge-case logic to your Saga isn’t the answer. Instead, the solution is Reconciliation. 🔗 Kurrent https://kurrent.io 🔔 Subscribe: https://www.youtube.com/channel/UC3RKA4vunFAfrfxiJhPEplw?sub_confirmation=1 💥 Join this channel to get access to a private Discord Server and any source code in my videos. 🔥 Join via Patreon https://www.patreon.com/codeopinion ✔️ Join via YouTube https://www.youtube.com/channel/UC3RKA4vunFAfrfxiJhPEplw/join 📝 Blog: https://codeopinion.com 👋 Twitter: https://twitter.com/codeopinion ✨ LinkedIn: https://www.linkedin.com/in/dcomartin/ 📧 Weekly Updates: https://mailchi.mp/63c7a0b3ff38/codeopinion 0:00 Intro 1:12 Saga 3:37 Reconcile

Оглавление (2 сегментов)

Intro

So you built out an elaborate system that has commands, queues, an event-driven architecture, retries, timeouts, and most importantly, compensating actions. But do we really? Cuz we get a call from support that we have this order where the payment's pending, and it's been pending for 48 hours now. So you look into it more and see that the payment provider did charge the customer, but our system shows that the payment didn't go through. So which is true? Clearly, the payment provider. Now, you might think a saga is the answer to this problem, and it's not exactly. A saga is great for coordinating workflow, but it's not the source of truth. It can tell you, "What step am I on? What message did I receive? What command should I send next? " What you really want as a solution in this situation, alongside a saga, is reconciliation. You want to know what should be true, what is actually true, and what corrective actions, compensating actions, can you take that are safe, that you can apply. Reconciliation is not a cleanup job. It's about consistency. I get the sense there's this feeling, well, "I have to run this job or because of timeout and reconcile with some third-party system when everything should have magically always be consistent. " It's not. It's not going to be. There's nothing wrong with doing reconciliation. It's not some

Saga

cleanup job.

Другие видео автора — CodeOpinion

Ctrl+V

Экстракт Знаний в Telegram

Экстракты и дистилляты из лучших YouTube-каналов — сразу после публикации.

Подписаться

Дайджест Экстрактов

Лучшие методички за неделю — каждый понедельник