Skip to main content
تُقدَّم صفحات /learn بواسطة خدمة web (وحدة learn) في كل Pod من Pods ‏Ayakaleaf Pro، انطلاقًا من ذاكرة تخزين مؤقت لموقع Wiki المحدد في WIKI_URL. يُشرح ما تفعله الوحدة وأنواع مواقع Wiki التي تعمل معها في إضافة مساعدة LaTeX للمستخدمين.

الإعداد

30-config.yaml (additions)
عند التشغيل الأول مع تفعيل الوحدة، تنزّل خدمة web موقع Wiki بالكامل قبل أن تقبل الطلبات، وهو ما يستغرق عدة دقائق. ويظل الـ Pod غير جاهز حتى ذلك الحين، لذا خذ ذلك في الحسبان في rollout status --timeout وفي أي فحص بدء تشغيل (startup probe) أو فحص حيوية (liveness probe) تضيفه. تعيد مرات التشغيل اللاحقة استخدام ذاكرة التخزين المؤقت على وحدة تخزين البيانات.
عند التشغيل الأول، وقبل وجود ذاكرة تخزين مؤقت، يجب أن تتمكن الـ Pods من الوصول إلى WIKI_URL: فبدون ذلك تفشل خدمة web أثناء بدء التشغيل وتُعاد تشغيلها داخل الـ Pod مرارًا وتكرارًا، فلا يصبح الـ Pod جاهزًا أبدًا. عطّل الوحدة، أو اسمح للـ Pods بالخروج إلى موقع Wiki. بمجرد وجود ذاكرة التخزين المؤقت، تبدأ الـ Pods وتقدّم الصفحات المخزنة مؤقتًا حتى عندما يتعذّر الوصول إلى موقع Wiki.

عدة نسخ متماثلة

تحتفظ كل نسخة متماثلة (replica) بذاكرة التخزين المؤقت الخاصة بها على قرص العقدة (node) التي تعمل عليها، لذا تنزّل كل واحدة منها موقع Wiki عند تشغيلها الأول؛ ومع podManagementPolicy: OrderedReady تفعل ذلك واحدة تلو الأخرى. قد يرى المستخدم صفحة بنسخة مختلفة قليلًا على نسخة متماثلة أخرى إلى أن تُحدَّث هناك.

الاختبار على Kubernetes

على Kubernetes 1.37 مع ثلاث نسخ متماثلة خلف HAProxy، تنزّل كل منها https://learnwiki.overleaf.com إلى ذاكرة التخزين المؤقت لعقدتها عند تشغيلها الأول، نجحت اختباراتنا الشاملة (end-to-end) لـ /learn ‏(12 حالة): رابط Documentation في الترويسة، ورسالة الترحيب وقائمة Help في المحرر، والشريط الجانبي للمحتويات، والصفحات والروابط وعمليات إعادة التوجيه داخل موقع Wiki، والصور المحمّلة من موقع Wiki، والخطأ 404 للصفحات غير المعروفة، وطلب تسجيل الدخول عند عدم تفعيل الوصول العام، وتقديم صفحة قديمة من ذاكرة التخزين المؤقت بعد تغيير WIKI_URL إلى عنوان لا يمكن الوصول إليه. وعند البدء بذاكرة تخزين مؤقت فارغة مع توجيه WIKI_URL إلى عنوان يرفض الاتصالات، ظل الـ Pod غير جاهز دون إعادة تشغيل، بينما بدأت خدمة web داخله وفشلت 77 مرة خلال ثلاث دقائق.
آخر تعديل في ٢ نوفمبر ٢٠٢٦