نقاش متعدد حول مضيف Redis واحد

أحد الإعدادات التي أستخدمها هو تشغيل حاويات Discourse متعددة خلف وكيل عكسي على خادم واحد. لفترة من الوقت، كنت أستخدم

DISCOURSE_REDIS_DB: x

للسماح لخوادم Discourse متعددة باستخدام خادم redis واحد. إلى حد كبير لأنني كسول ولا أحب الاحتفاظ بسجل دقيق للخادم الذي يستخدم أي رقم، أردت زيادة عدد قواعد بيانات redis في redis إلى أكثر من 16. عندما سألت عن ذلك، كانت الإجابة التي تلقيتها تشير إلى أنه فكرة سيئة للغاية استخدام redis_db لوجود مواقع متعددة على redis واحد. ومنذ ذلك الحين، قمت بإعادة تكوين الأمور لتشغيل redis منفصل لكل موقع (مما يجعل من السهل متابعتها حيث يمكنني استخدام اسم لها).

ولكن هذا يبدو سخيفًا بعض الشيء. والآن بعد أن نظرت، أرى هذا:

لذلك، كنت أتساءل عما إذا كان استخدام redis_db مقبولاً أم أن كل Discourse يحتاج إلى redis خاص به.

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

يحتاج كل Discourse إلى خادم redis منفصل تمامًا خاص به لأن ناقل الرسائل يستخدم Redis Pub/Sub، والذي تتم مشاركته بين جميع قواعد البيانات على خادم Redis.

إذا كنت تقوم بتشغيل Discourse في تكوين متعدد المواقع، فإننا نضيف تلقائيًا بادئة خاصة بالموقع لجميع المفاتيح وقنوات النشر/الاشتراك. هذه البادئة نفسها غير متاحة للتثبيتات القياسية “ذات الموقع الواحد”.

4 إعجابات

مفهوم تمامًا. شكرًا جزيلاً على شرحك الواضح!

إعجابَين (2)

يبدو أن هذا خطأ معماري فادح. هل يمكنك من فضلك جعل بادئات مفاتيح redis ممكنة في تثبيت موقع واحد حتى نتمكن من الحصول على تثبيتات متعددة لـ Discourse على مضيف redis واحد؟ ما لم أكن أسيء الفهم ، فهذا حل بسيط للغاية من شأنه أن يقلل بشكل كبير من التعقيد والنفقات العامة للأشخاص الذين يحتاجون إلى تشغيل أكثر من واحد من Discourse.

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