الحالة
تُدير شناشل إحدى منصات إدراج العقارات الأكبر في المملكة العربية السعودية. البحث العقاري هو المنتج: إذا كان بطيئًا، لا شيء آخر يهم. عند انضمامنا للمشروع، كانت عمليات البحث بالفلاتر المعقدة تستغرق أكثر من 3 ثوانٍ. والسبب الجذري كان مزيجًا من عوامل. صدر الفهارس المكانية MySQL على موقع العقار. نقلنا جميع معالجة الوسائط إلى عمال الخلفية. يتحول الإعلان تلقائيًا عند اكتمال المعالجة.
ما كان يجب أن يتغير
كان البحث العقاري بفلاتر متعددة متزامنة يستغرق أكثر من 3 ثوانٍ على الاستعلامات المعقدة — فوق عتبة التخلي. لم تكن الاستعلامات الجغرافية تمتلك فهرسًا مكانيًا، مما تسبب في مسح كامل للجدول على فلترة الموقع. كان الوكلاء الذين يرفعون صور العقارات عالقين في الصفحة لمدة 60-90 ثانية حتى اكتمال المعالجة، ثم يضطرون للنشر يدويًا.
لقد تغيرت
فهارس مكانية على أعمدة الموقع تتيح الاستعلامات الجغرافية في أجزاء من الثانية. فهارس مركّبة على أعلى 12 تركيبة فلاتر حسب حجم البحث. ذاكرة Redis المؤقتة (TTL 5 دقائق) للبحوث الشائعة المتكررة. عمال معالجة الوسائط في الخلفية: الرفع يُرجع فورًا، المعالجة غير متزامنة، الإعلان ينشر تلقائيًا عند الاكتمال.
ما حصل عليه العميل
- 01 فهرسة مكانية — بحث جغرافي في أجزاء من الثانية
- 02 بحث متعدد الفلاتر أقل من 500ms باستمرار
- 03 معالجة وسائط غير متزامنة — الوكلاء لا ينتظرون أبدًا
- 04 الإعلانات تنشر تلقائيًا عند جاهزية الوسائط