انتقل إلى المحتوى
أمين أبوزيد
درس مخطط لهMID-032-L03

الأقفال الموزّعة وحدودها

  • الدرس 3 من 5
  • Mid-level
في هذا الدرس 4 موضوعات

هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.

نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.

في هذا الدرس

know when a lock is safe and when it is only an optimization.

الموضوعات المخطط لها

  • A lock on a database row or a lock service (ZooKeeper, etcd) is useful for efficiency: avoid duplicate work.
  • Unsafe scenario: instance A takes a lease, pauses (GC, network stall), the lease expires, B takes over, A wakes and still writes.
  • A Redis SET NX PX lock gives no safety guarantee under pauses and failover; do not use it alone for correctness.
  • Keep critical sections short and make the work idempotent.
  • ShedLock provides database-backed single-run scheduling and is meant for efficiency, not strict mutual exclusion.
تفاصيل المخطط المبدئي

عرض عملي

a timeline: A acquires, A pauses, lease expires, B acquires and writes, A resumes and writes: both wrote.

اختبر فهمك

Why can a paused lock holder still do damage?

أظهر الإجابة

It does not know its lease expired and writes anyway.

التطبيق

طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.

المختبر والتمارين الاختبار

تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.

اكتب للبحث في المستويات والمراحل والوحدات والدروس.