Перейти к содержимому

ليه الـ API ممكن تنفذ نفس الطلب مرتين؟ | Idempotency Explained

Assem Khashaba

0:00 / 0:00

ليه الـ API ممكن تنفذ نفس الطلب مرتين؟ | Idempotency Explained

79 просмотров · 10 дн. назад
Assem Khashaba
176 подписчиков
79 просмотров · 10 дн. назад
هل ممكن تضغط على زرار الدفع مرة واحدة، لكن العملية تتنفذ مرتين؟ 🤯 تخيل إنك بعت Request للـ API، والسيرفر نفّذ العملية بنجاح، لكن الـ Response ضاعت بسبب مشكلة في الشبكة. لما التطبيق يعمل Retry، ممكن نفس العملية تتنفذ مرة تانية! هنا بييجي دور مفهوم مهم جدًا في تصميم أنظمة الـ Backend اسمه **Idempotency**. في الفيديو ده هنتعلم إزاي نتعامل مع تكرار الـ HTTP Requests عمليًا باستخدام C# وASP.NET Core Minimal API. 🔥 *هنتعلم إيه في الفيديو؟* ✅ يعني إيه Idempotency وليه مهم في الـ Backend Development؟ ✅ إزاي الـ Timeout والـ Retry ممكن يسببوا تكرار العمليات؟ ✅ إنشاء Web API باستخدام ASP.NET Core Minimal API. ✅ استخدام ConcurrentDictionary لتخزين Idempotency Keys. ✅ فهم GetOrAdd والتعامل مع الطلبات المتكررة. ✅ تجربة POST Requests بنفس الـ Idempotency-Key. ✅ ليه الحل البسيط ده مش كفاية للـ Production؟ ✅ الفرق بين In-Memory Storage والحلول المعتمدة على Database. ✅ أهمية Unique Constraints والتعامل مع Concurrent Requests. 💻 *التقنيات المستخدمة:* C# ASP.NET Core Minimal API .NET ConcurrentDictionary HTTP POST Idempotency-Key ⚠️ *ملاحظة مهمة:* الكود الموجود في الفيديو مثال تعليمي لتوضيح مفهوم Idempotency، وليس نظام دفع حقيقيًا أو حلًا جاهزًا للاستخدام في Production. في الأنظمة الحقيقية، بنحتاج تخزين دائم وآليات Atomic مناسبة، ونتحقق من محتوى الطلب، ونتعامل مع حالات الفشل والـ Concurrency بشكل صحيح. 💬 *سؤال للنقاش:* إيه اللي ممكن يحصل لو اتنين Requests بنفس الـ Idempotency-Key وصلوا للسيرفر في نفس اللحظة؟ اكتب إجابتك في التعليقات 👇 لو الفيديو أفادك، متنساش تعمل Like وتشترك في القناة علشان يوصلك المزيد من شروحات C# وASP.NET Core وBackend Development. #Idempotency #AspNetCore #CSharp