خادم واحد لمجتمعين من Discourse؟

ملاحظة إضافية واحدة ترتبط مباشرة بجزء HAProxy في الإعداد أعلاه.

هناك سلوك شائع مع HAProxy + Discourse حيث يؤدي إعادة بناء حاوية الويب (على سبيل المثال باستخدام ./launcher rebuild app1) إلى إرجاع استجابات 503 Service Unavailable لفترة وجيزة لأن HAProxy لا يزال يرسل حركة المرور إلى هذا الواجهة الخلفية أثناء إعادة تشغيلها. هذا ليس خطأ في Discourse بحد ذاته - يحدث لأن الواجهة الخلفية غير متاحة للحظة أثناء إعادة البناء.

الحل البديل الموصى به هو استخدام مقبس إدارة HAProxy لـ:
\t1. تعطيل الخادم في HAProxy قبل إعادة البناء، و
\t2. إعادة تمكينه بعد انتهاء إعادة البناء

هذا يمنع أخطاء 503 العابرة تلك.

هناك مناقشة موجودة في Meta توثق هذا السلوك وشرح الحل البديل:

إذا كان أي شخص هنا يستخدم HAProxy لإعادة البناء المتدحرج، فإن هذا الموضوع يوفر سياقًا مفيدًا لسبب تضمين أوامر مقبس الإدارة في دليل التشغيل.