أدير مجتمعًا نشطًا جدًا يضم في المتوسط 180 ألف مستخدم يوميًا ولا يمكنني حقًا التوسع رأسيًا بعد الآن. نحتاج إلى التوسع أفقيًا. قبل أن يتم ذكر ذلك، لا يهمني حقًا ما هو “مدعوم رسميًا” أنا أهتم فقط بما هو ممكن تقنيًا.
حاليًا، لدينا مثيل Ubuntu يشغل Discourse في Docker مع تعليمات التثبيت الرسمية، ويتم استخدام تخزين S3 بالإضافة إلى شبكة توصيل محتوى (CDN) تخدم ذلك.
أخطط للانتقال إلى NixOS flake أكتبه. من خلال إجراء تحقيقات معمقة جدًا في استخدام الموارد، لاحظت أن وحدة المعالجة المركزية مقيدة في الغالب بواسطة postgres وعمال Unicorn (لقد قمنا بتحسين ذلك ليكون خفيفًا على وحدة المعالجة المركزية قدر الإمكان مع الحفاظ على الأداء. هناك 16 عاملًا).
وكذلك الذاكرة مقيدة في الغالب بواسطة postgres و redis.
إذا أمكن، أرغب في عزل كل هذه الخوادم في 3 خوادم:
واجهة Discourse الأمامية (مع unicorn)
خادم Redis
خادم Postgres
لقد قمت بالفعل بإنشاء خادم Discourse بنجاح مع postgres على خادم آخر، لكنني لست متأكدًا مما إذا كان بإمكاني نقل redis إلى مكان آخر وما إذا كان ذلك منطقيًا من حيث الأداء.
هل يقوم أي شخص آخر بتشغيل Discourse بهذه الطريقة حاليًا؟