توافرية عالية لـ Discourse

Has anyone played with a HAProxy/nginx/etc?

I could have sworn there was a how-to guide for a way to do distributed hosting, either via Docker or via multiple instances of Discourse all hitting a single high availability database server, but I can’t seem to find a guide for it.

Any thoughts? I’m currently serving a small single Discourse site, but am interested in learning as much as I can about scaling and load balancing of Discourse.

5 إعجابات

Found it, less than fifteen minutes after I posted. I’ll put any info on snags or clarifications that might be helpful into the conversation here.

The documentation is very fragmented. I’m going to attempt to pull it all together here.

Any chance I could get some input from @nx2zdk or @jspdng?

Info on avoiding port exposure:

Load balancing with nginx:

Enabling http2 on Debian:

Offline page setup:

لم أتمكن من العثور على إجابات قريبة في أماكن أخرى.
فهمت أن التثبيت المستقل لـ Discourse موصى به لبساطته وقوته في البيئات القياسية. ومع ذلك، لتوفير التوفر العالي (High Availability)، يقترح البعض توسيع الوضع المستقل إلى حاويات متعددة (29413)، والبعض الآخر يعيد تصميم عمليات نشر منفصلة بالكامل.

  1. السؤال الأول: بما أن التوفر العالي يتعلق بتكرار الخدمات (الويب وقاعدة البيانات) مع تجاوز فشل موثوق، هل يقترح Discourse حلاً حيث يتم تكرار كل من خدمات الويب وقواعد البيانات داخل الحاويات؟
  2. السؤال الثاني: بالنسبة لخدمات الويب، ستحتاج إلى موازن تحميل لضمان المساواة في الأعباء بين المثيلات. ما هي توصيات خبراء ومجتمع Discourse؟
  3. السؤال الثالث: بالنسبة للتوفر العالي لقواعد البيانات في حاويات، ما هي الطريقة المفضلة لإدارة تكرار PostgreSQL؟
  4. السؤال الرابع: نفس السؤال لـ Redis.

هناك مجموعة من الطرق للتعامل مع تجاوز الفشل في PostgreSQL. يمكنك استخدام ما تريد.

يستخدم استضافة CDCK HA-proxy، على حد علمي الأخير. يمكنك استخدام أي موازن تحميل تريده (وفي الغالب) استخدام /srv/status كمؤشر جاهزية.

إعجاب واحد (1)