単一redisホストにおける複数議論

1つのセットアップとして、単一サーバー上でリバースプロキシの背後で複数のDiscourseコンテナを実行しています。しばらくの間、DISCOURSE_REDIS_DB: xを使用して、複数のDiscourseサーバーが単一のRedisサーバーを使用できるようにしていました。主に私が怠惰で、どのサーバーがどの番号を使用しているかを注意深く追跡するのが好きではないため、RedisのRedis DBの数を16以上に増やしたいと思いました。そのようなことについて尋ねたとき、得られた答えは、複数のサイトを単一のRedisで実行するためにredis_dbを使用することは非常に悪い考えであるということでした。それ以来、各サイトに個別のRedisを起動するように再構成しました(名前を使用できるため、追跡が容易になります)。

しかし、これは少し愚かに思えます。そして今見ると、これが見えます:

それで、redis_dbを使用してもよいのか、それとも各Discourseに独自のRedisが必要なのか疑問に思っています。

「いいね!」 1

各Discourseは、Redisサーバー全体で共有されるRedis Pub/Subをmessage-busが使用するため、完全に分離されたRedisサーバーを必要とします。

Discourseをマルチサイト構成で実行する場合、すべてのキーとPub/Subチャネルにサイト固有のプレフィックスが自動的に追加されます。このプレフィックス機能は、標準の「シングルサイト」インストールでは利用できません。

「いいね!」 4

よくわかります。明快なご説明、大変ありがとうございました!

「いいね!」 2

これは重大なアーキテクチャ上の見落としのように思われます。単一サイトのインストールでRedisキーのプレフィックスを可能にしていただけますでしょうか。これにより、1つのRedisホストで複数のDiscourseインストールを実行できるようになります。私の理解が間違っていなければ、これは非常にシンプルなソリューションであり、複数のDiscourseを実行する必要がある人々の複雑さとオーバーヘッドを大幅に削減できるはずです。

「いいね!」 1