pfaffman
(Jay Pfaffman)
1
我使用的一个设置是在单个服务器上,在反向代理后面运行多个 Discourse 容器。有一段时间,我使用了
DISCOURSE_REDIS_DB: x
来允许多个 Discourse 服务器使用单个 Redis 服务器。很大程度上是因为我懒惰,不喜欢仔细跟踪哪个服务器在使用哪个数字,我想增加 Redis 中的 Redis DB 数量,使其超过 16 个。当我询问时,得到的答案是,使用 redis_db 在单个 Redis 上运行多个站点是一个非常糟糕的主意。从那时起,我已经重新配置了,为每个站点启动一个单独的 Redis(这使得它们更容易跟上,因为我可以使用名称来标识它们)。
但这似乎有点傻。现在我看到了:
所以,我想知道是否可以使用 redis_db,还是每个 Discourse 都需要自己的 Redis。
1 个赞
david
(David Taylor)
2
每个 Discourse 都需要有自己完全独立的 Redis 服务器,因为 message-bus 使用 Redis Pub/Sub,它在 Redis 服务器的所有数据库之间共享。
如果您在多站点配置中运行 Discourse,那么我们会自动为所有键和 pub/sub 通道添加特定站点的前缀。标准的“单站点”安装没有这种前缀功能。
4 个赞
这似乎是一个严重的架构疏忽。您能否在单站点安装中实现 Redis 键前缀,以便我们可以在一个 Redis 主机上运行多个 Discourse 安装?除非我有什么误解,否则这是一个非常简单的解决方案,可以大大降低需要运行多个 Discourse 的用户的复杂性和开销。
1 个赞