هل يجب أن أمتلك نطاقين في وضع الإنتاج إذا أردت استخدام موازن تحميل مع Discourse؟

لستُ خبيرًا جدًا في استخدام موازنات التحميل، ولكن هذه المرة أحتاج حقًا إلى استخدامها.

لنفترض أن اسم موقعي هو badthreadcomments.com. في كل مرة يدخل فيها المستخدم إلى موقعي، يتم إرسال طلبه إلى موازن التحميل الخاص بي المُعد على خادم افتراضي خاص (VPS)، ويجب أن يرسل موازن التحميل هذا الطلب إلى Discourse المستضاف على نفس الخادم الافتراضي الخاص (VPS)، ثم يستجيب Discourse لموازن التحميل الخاص بي، ولكن انتظر، تقول الوثائق الخاصة باستخدام Discourse في بيئة الإنتاج ما يلي:
“لن يعمل Discourse من عنوان IP؛ يجب أن تمتلك اسم نطاق مثل example.com للمتابعة.”

الفكرة هي أن موازن التحميل و Discourse مستضافان على نفس الخادم الافتراضي الخاص (VPS)، لذا فإن الاتصال بين موازن التحميل الخاص بي و Discourse محلي بنسبة 100٪، لذا، إذا كانت بيئة الإنتاج تتطلب نطاقًا، فماذا يجب أن أفعل؟ ما هي الخطة هنا؟ شراء نطاق ثانٍ؟ إذا كان نطاق ثانٍ ضروريًا، ألن يؤدي ذلك إلى زيادة زمن الاستجابة للعميل؟

هذا يعني أنه يجب على العملاء الوصول إلى Discourse عبر اسم نطاق. داخليًا، خلف وكيل عكسي / موازن تحميل مواجه للعميل أخيرًا، يمكنك فعل ما تريد.

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

إذًا يجب أن يكون الترتيب هكذا؟
badthreadcomments.com > Discourse Docker > موازن التحميل > استجابة

ألا يمكن أن يكون هكذا؟
badthreadcomments.com > موازن التحميل > Discourse Docker > استجابة

لا أفهم ما تقصده بـ “داخليًا، خلف آخر وكيل عكسي / موازن تحميل يواجه العميل، يمكنك فعل ما تشاء.”

لا يختلف Discourse عن أي تطبيق ويب آخر في هذا الصدد

graph TD
    User[User]
    LoadBalancer[Load Balancer]
    WebAppCluster[Discourse Web App Cluster, N identical instances]
    Postgres[PostgreSQL]
    Redis[Redis]
    S3[Object Storage]

    User -->|Request| LoadBalancer
    LoadBalancer -->|Distributes requests| WebAppCluster
    WebAppCluster -->|Read/Write| Postgres
    WebAppCluster -->|Cache| Redis
    WebAppCluster -->|Stores static assets| S3
إعجابَين (2)

أوصي بالاطلاع على Nginx Proxy Manager، وطريقة عمله، لفهمك الأوسع.