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

عرض عملي: اندفاع بعد انتهاء صلاحية الذاكرة المؤقتة ثم الإصلاح

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

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

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

في هذا الدرس

reproduce a stampede and fix it. Prepares MID-040-LAB1.

تفاصيل المخطط المبدئي

خطوة بخطوة

  1. Cache product:7 with a 10 s TTL; run a load test of 200 concurrent readers.
  2. Count database queries at expiry: a spike to about 200 identical queries.
  3. Fix 1: a per-key lock (one loader; the rest wait or serve the stale value) or Caffeine LoadingCache; show 1 query.
  4. Fix 2: add random jitter of ±20% to TTLs and early refresh.
  5. Planned mistake: the lock has no timeout and the loader fails; every request waits forever. Fix: lock timeout, and on timeout serve the stale value or fail fast.
  6. Show the database query count as a flat line during expiry.

اختبر فهمك

Why must the lock have a timeout?

أظهر الإجابة

A failed loader would block all waiters.

التطبيق

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

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

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

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