# 단일 Redis 호스트에 여러 Discourse 인스턴스

**URL:** https://meta.discourse.org/t/multiple-discourse-on-a-single-redis-host/219318
**Category:** Self-hosting
**Tags:** hosting
**Created:** [2월 24, 2022, 9:37오후 UTC](https://meta.discourse.org/t/multiple-discourse-on-a-single-redis-host/219318 "2022-02-24T21:37:13Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2월 24, 2022, 9:37오후 UTC](https://meta.discourse.org/t/multiple-discourse-on-a-single-redis-host/219318/1 "2022-02-24T21:37:13Z")

</div>

제가 사용하는 구성 중 하나는 단일 서버의 리버스 프록시 뒤에 여러 Discourse 컨테이너를 실행하는 것입니다. 한동안 저는

```
DISCOURSE_REDIS_DB: x

```

을 사용하여 여러 Discourse 서버가 단일 Redis 서버를 공유하도록 했습니다. 주로 게으르기 때문에 어떤 서버가 어떤 번호를 사용하는지 꼼꼼히 추적하는 것을 좋아하지 않아서, Redis의 DB 수를 16개 이상으로 늘리고 싶었습니다. 이에 대해 질문했을 때, `redis_db`를 사용하여 단일 Redis에 여러 사이트를 두는 것은 _매우 나쁜 아이디어_라는 답변을 받았습니다. 그 이후로는 각 사이트마다 별도의 Redis를 실행하도록 구성을 변경했습니다(이름을 사용할 수 있으므로 관리하기가 더 쉬워졌습니다).

하지만 이것은 좀 터무니없는 것 같습니다. 그리고 지금 살펴보니 이런 코드를 발견했습니다:

> <https://github.com/discourse/discourse/blob/main/app/models/global_setting.rb#L208>

그래서 `redis_db`를 사용하는 것이 괜찮은지, 아니면 각 Discourse 인스턴스가 자체 Redis가 필요한지 궁금합니다.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [2월 24, 2022, 10:06오후 UTC](https://meta.discourse.org/t/multiple-discourse-on-a-single-redis-host/219318/2 "2022-02-24T22:06:02Z")

</div>

각 Discourse 인스턴스는 메시지 버스가 [Redis Pub/Sub](https://redis.io/topics/pubsub)를 사용하며, 이는 Redis 서버의 모든 데이터베이스 간에 공유되기 때문에 완전히 독립적인 Redis 서버가 필요합니다.

멀티사이트 구성으로 Discourse를 실행하는 경우, 모든 키와 pub-sub 채널에 사이트별 접두사가 자동으로 추가됩니다. 이러한 접두사 처리는 표준 ‘단일 사이트’ 설치에서는 사용할 수 없습니다.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2월 24, 2022, 10:56오후 UTC](https://meta.discourse.org/t/multiple-discourse-on-a-single-redis-host/219318/3 "2022-02-24T22:56:45Z")

</div>

완전히 이해가 됩니다. 명확한 설명을 해주셔서 정말 감사합니다!

---

<div class="post-metadata">

### Author: ![Farley](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/farley/32/263169_2.png) [@Farley](https://meta.discourse.org/u/Farley)
#### Post date: [6월 9, 2022, 2:46오전 UTC](https://meta.discourse.org/t/multiple-discourse-on-a-single-redis-host/219318/4 "2022-06-09T02:46:18Z")

</div>

이것은 명백한 아키텍처상의 과실인 것 같습니다. 단일 사이트 설치에서도 Redis 키 접두사(prefixing)를 사용할 수 있도록 해 주시겠어요? 그러면 하나의 Redis 호스트에 Discourse를 여러 개 설치할 수 있게 됩니다. 제가 무언가를 오해하고 있는 게 아니라면, 이는 Discourse를 하나 이상 실행해야 하는 사용자들의 복잡성과 오버헤드를 크게 줄여 줄 매우 간단한 해결책입니다.
