Mehrere Diskurse auf einem einzelnen Redis-Host

Eine von mir verwendete Einrichtung hat mehrere Discourse-Container, die hinter einem Reverse-Proxy auf einem einzigen Server laufen. Eine Zeit lang habe ich DISCOURSE_REDIS_DB: x verwendet, um mehreren Discourse-Servern die Nutzung eines einzigen Redis-Servers zu ermöglichen. Größtenteils, weil ich faul bin und es nicht mag, sorgfältig darauf zu achten, welcher Server welche Nummer verwendet, wollte ich die Anzahl der Redis-DBs in Redis auf mehr als 16 erhöhen. Als ich danach fragte, wurde mir geraten, dass es eine sehr schlechte Idee ist, redis_db zu verwenden, um mehrere Sites auf einem einzigen Redis zu haben. Und seitdem habe ich die Dinge neu konfiguriert, um für jede Site ein separates Redis zu starten (was es einfacher macht, den Überblick zu behalten, da ich einen Namen dafür verwenden kann).

Aber das scheint ein wenig albern. Und jetzt, wo ich nachsehe, sehe ich das hier:

Daher habe ich mich gefragt, ob es in Ordnung ist, redis_db zu verwenden, oder ob jeder Discourse seinen eigenen Redis benötigt.

1 „Gefällt mir“

Jeder Discourse benötigt seinen eigenen, komplett separaten Redis-Server, da message-bus Redis Pub/Sub verwendet, das zwischen allen Datenbanken auf einem Redis-Server gemeinsam genutzt wird.

Wenn Sie Discourse in einer Multisite-Konfiguration ausführen, fügen wir automatisch ein standortspezifisches Präfix zu allen Schlüsseln und Pub/Sub-Kanälen hinzu. Dieses Präfix ist für Standardinstallationen mit nur einem Standort nicht verfügbar.

4 „Gefällt mir“

Vollkommen verständlich. Vielen Dank für Ihre klare Erklärung!

2 „Gefällt mir“

Dies scheint ein grober architektonischer Fehler zu sein. Könnten Sie bitte das Präfixieren von Redis-Schlüsseln in einer Single-Site-Installation ermöglichen, damit wir mehrere Installationen von Discourse auf einem Redis-Host haben können? Sofern ich nichts missverstehe, ist dies eine sehr einfache Lösung, die die Komplexität und den Aufwand für Personen, die mehr als eine Discourse-Installation ausführen müssen, erheblich reduzieren würde.

1 „Gefällt mir“