رویکردهای پیادهسازی Saga
(Saga implementation approaches)
دو رویکرد رایج برای پیادهسازی Saga وجود دارد: Choreography و Orchestration.
1️⃣ Choreography
در این رویکرد، سرویسها بدون کنترلکننده مرکزی، از طریق رویدادها با هم تعامل دارند. هر تراکنش محلی یک رویداد دامنه منتشر میکند که تراکنش محلی دیگری در سرویس دیگر را فعال میکند.
مزایا:
✅مناسب برای جریانهای کاری ساده با سرویسهای کم و بدون نیاز به منطق هماهنگی.
✅عدم نیاز به سرویس اضافی برای هماهنگی.
✅بدون نقطه شکست مرکزی (distributed responsibility).
معایب:
⚠️با اضافه شدن مراحل جدید، جریان کاری پیچیده میشود.
⚠️ریسک ایجاد وابستگی حلقهای بین سرویسها.
⚠️تست یکپارچگی دشوار به دلیل نیاز به اجرای همه سرویسها برای شبیهسازی تراکنش.
