كيفية نشر Discourse ثانوي / احتياطي؟

مرحباً يا رفاق.
كيف يقوم المرء بنشر نسخة ثانوية/احتياطية من Discourse؟
اعتقدت أن هذا سيكون موضوعًا شائعًا ولكني فشلت في العثور على أي شيء حول هذا الموضوع.

مثل هذا النسخة الاحتياطية من Discourse ستكون - بالطبع، في ذهني، وبالتالي أحاول إعدادها بهذه الطريقة - تعمل على عقدة (عقد) تابعة/للقراءة فقط، للقراءة فقط لكل من Redis و pgSQL. ولكن Discourse يفشل في البدء مع:

\u003e Redis::CommandError: ERR Error running script (call to f_bcec1d9b3bbcfb089dc0b7316771be9f011872b6): @user_script:8: @user_script: 8: -READONLY You can’t write against a read only replica.

حتى مع DISCOURSE_SKIP_BOOTSTRAP=yes

كيف تفعلون ذلك يا رفاق - كل هذا في/حول الحاويات - هل من الممكن الحصول على نسخة احتياطية من Discourse بهذه الطريقة - بالطريقة التي أحاول بها أو أي نهج آخر - الحصول على إعداد عالي التوفر (HA)؟

إذا كنت تريد توفرًا عاليًا، فستقوم بتهيئة PostgreSQL للنسخ المتماثل، وربما Redis أيضًا، على الرغم من أنه ليس مشكلة كبيرة البدء بـ Redis جديد.

هناك أدلة حول إعداد النسخ المتماثل لـ PostgreSQL في أماكن أخرى. أو يمكنك الحصول على RDS للقيام بذلك نيابة عنك.

بعد ذلك، ستقوم بتهيئة حاويتين web_only (الانتقال من حاوية مستقلة إلى حاويات ويب وبيانات منفصلة).

ستحتاج بعد ذلك إلى وجود haproxy أو شيء من هذا القبيل للتعامل مع التبديل.

هذا حقًا يتجاوز المساعدة التي يمكنك الحصول عليها هنا ما لم تكن عالقًا في جزء Discourse من الأمور.

حسب فهمي، لا توجد تقنية رسمية غير تابعة لجهات خارجية لتنفيذ multi-master pgSQL، وبالأحرى لا ينطبق ذلك على Redis.

هل من الممكن حقًا إخبار Discourse عن مثل هذه البيئة وإخباره بعدم القلق بشأنها وتجاهلها؟
إذا لم يكن الأمر كذلك وقام @devel بقراءة هذا، فأقترح - وأعتقد أن الكثيرين سيقدرون ذلك - “تحسين” Discourse بهذه الطريقة - بحيث يقوم بجميع الفحوصات اللازمة ولكنه لا يفشل بل يبدأ ويعمل على “بيانات” للقراءة فقط.