Distributed Transaction بالعربي With Mostafa Mansour & Ahmed Elemam - Tech Podcast بالعربي

About this video

### الملخص النهائي: المعاملات الموزعة وتحديات الأنظمة الموزعة #### 1. **المعاملات الموزعة (Distributed Transactions):** - **التعريف والأهمية:** تم مناقشة مفهوم "المعاملات الموزعة" مع مصطفى منصور، مهندس في مايكروسوفت كوبنهاجن، والذي يمتلك خبرة في بناء أنظمة مثل ERP. المعاملات الموزعة هي عمليات تتم عبر عدة أنظمة أو قواعد بيانات مختلفة بهدف ضمان تنفيذ العمليات بشكل صحيح ومتسق. - **التطبيقات العملية:** تم تقديم أمثلة عملية مثل عمليات البيع عبر الإنترنت وتحويل الأموال بين الحسابات البنكية لتوضيح كيفية عمل هذه المعاملات. #### 2. **أساسيات المعاملات الموزعة:** - **العزل (Isolation):** نوقشت أهمية العزل لضمان عدم حدوث تداخل بين العمليات المتزامنة. تم ذكر مشاكل مثل: - **Dirty Reads:** قراءة بيانات غير مؤكدة (غير ملتزمة). - **Non-repeatable Reads:** عدم القدرة على قراءة نفس البيانات بشكل متسق خلال نفس المعاملة. - **Phantom Reads:** ظهور بيانات جديدة عند إعادة الاستعلام. - **التوازي (Concurrency Control):** تم التطرق إلى دور آليات التحكم بالتوازي مثل القفل (Locking) والتحسين (Optimistic Locking) في حل مشاكل التعارض. #### 3. **التسلسل (Serialization):** - شرح مصطفى أهمية التسلسل في تنفيذ العمليات بالتتابع الصحيح حسب الزمن لتجنب مشاكل التعارض. التسلسل يضمن أن العمليات تتم كما لو كانت متسلسلة، مما يقلل من مشاكل مثل التعقيد الزائد في التعامل مع الأقفال أو فقدان البيانات. #### 4. **التحديات في إدارة المعاملات:** - **المشاكل التقنية:** تم الإشارة إلى مشاكل مثل الأقفال الزائدة (Excessive Locking) أو تعطل النظام بسبب انقطاع الكهرباء. على سبيل المثال، تم ذكر حادثة GitLab في عام 2017 حيث أدت عمليات النسخ الاحتياطي غير الصحيحة إلى فقدان كبير للبيانات. - **مستويات العزل (Isolation Levels):** تم الحديث عن كيفية ضبط مستويات العزل حسب الحاجة لموازنة الأداء مع سلامة البيانات. #### 5. **الأنظمة الموزعة (Distributed Systems):** - **انتقال من الأنظمة المركزية إلى الميكروسرفيس:** تم تسليط الضوء على التحديات التي تظهر عند الانتقال من الأنظمة أحادية الهيكل (Monoliths) إلى أنظمة الميكروسرفيس، خاصة فقدان الآليات المركزية لإدارة المعاملات. - **أنماط الحلول:** تم تقديم أنماط مثل "Saga" لمعالجة المعاملات الموزعة، والتي تعتمد على سلسلة من الخطوات يمكن إلغاؤها أو إعادة تنفيذها عند الفشل. #### 6. **إدارة الخدمات في الميكروسرفيس:** - **التنسيق (Orchestration):** نظام مركزي يدير تدفق العمليات بين الخدمات، مما يسهل تتبع المهام وإكمالها بشكل تسلسلي. - **الرقص (Choreography):** نهج لامركزي يعتمد على التواصل بين الخدمات عبر الأحداث. كل نهج له مزاياه وعيوبه، مثل تعقيدات تصحيح الأخطاء في الرقص أو الحاجة إلى اتفاقات واضحة في التنسيق. - **معرّفات الارتباط (Correlation IDs):** تم تقديم هذه الآلية كحل عملي لتتبع الأحداث عبر الخدمات المختلفة. #### 7. **التعامل مع الأخطاء:** - **آليات التعافي:** تم التحدث عن آليات التعافي مثل: - **Backward Recovery:** إلغاء العمليات السابقة عند الفشل. - **Forward Recovery:** إعادة محاولة العمليات الفاشلة. - **التحمل على الأخطاء (Fault Tolerance):** أكد النقاش على أهمية تصميم الأنظمة بحيث يمكنها التعامل مع الأخطاء بسلاسة دون التسبب في ت


Course: Microservices بالعربي

مرحبًا بكم في دورة تدريبية شاملة ومميزة حول **أنماط الاتصال بين السيرفيسز (Microservices Communication Patterns)**. هذه الدورة مقدمة لكم من قبل أحمد الإمام، خبير تقني يتمتع بخبرة تمتد لأكثر من 8 سنوات في مجال تطوير البرمجيات، وهو حاليًا يعمل لدى شركة **Join** في ألمانيا. في هذه الدورة، سنتناول موضوعًا أساسيًا يُعتبر أحد الركائز الأساسية لفهم واستخدام **المايكرو سيرفيسز** بكفاءة: **الاتصال بين الخدمات**. إذا كنت قد بدأت رحلتك في عالم المايكرو سيرفيسز أو حتى لديك خلفية عنه، فمن المحتمل أنك واجهت تحديات في فهم كيفية تواصل هذه الخدمات مع بعضها البعض. سنناقش بالتفصيل الفرق بين **الاتصال المتزامن (Synchronous Communication)** و**غير المتزامن (Asynchronous Communication)**، وكيف يمكن اختيار الأنماط المناسبة بناءً على متطلبات المشروع. كما سنستعرض الأمثلة العملية والمشكلات الشائعة التي قد تواجهك أثناء تنفيذ هذه الأنماط وكيفية حلها. سواء كنت مطورًا مبتدئًا أو محترفًا، فإن هذه الدورة ستمنحك الأدوات والمعرفة اللازمة لتحسين تصميم التطبيقات الخاصة بك باستخدام أنماط اتصال فعّالة وحديثة. نهدف إلى تقديم محتوى غني ومفيد يساعدك على تحقيق أفضل النتائج في عملك اليومي. --- ### ## ملخص الدورة: تتناول هذه الدورة موضوع **أنماط الاتصال بين السيرفيسز (Microservices Communication Patterns)** بشكل عميق ومهني. يقدمها أحمد الإمام، الذي يمتلك خبرة طويلة في مجال تطوير البرمجيات، ويعمل حاليًا في شركة مرموقة بألمانيا. تركز الدورة على شرح كيفية تواصل خدمات المايكرو سيرفيسز مع بعضها البعض، مع التركيز على نوعين رئيسيين من الاتصال: **المتزامن وغير المتزامن**. يتم استعراض الفوائد والتحديات المرتبطة بكل نمط، بالإضافة إلى مناقشة المشكلات الشائعة التي قد تواجه المطورين وكيفية التغلب عليها. الدورة تستهدف جميع المستويات، من المبتدئين الذين يرغبون في فهم الأساسيات، إلى المحترفين الذين يسعون لتحسين مهاراتهم وتطبيق أفضل الممارسات في مشاريعهم. سيتم تقديم أمثلة عملية ونصائح قابلة للتنفيذ مباشرة. إنضم إلينا في هذه التجربة التعليمية الغنية لتكتسب رؤى جديدة ومهارات قوية تمكنك من تصميم وبناء تطبيقات أكثر كفاءة وفعالية باستخدام أنماط الاتصال الحديثة بين السيرفيسز. --- **نتمنى لكم تجربة تعليمية ممتعة ومفيدة!**

View Full Course