멀티사이트(multisite)를 사용하면 동일한 플러그인과 Discourse 버전을 사용하여 단일 컨테이너로 여러 사이트를 제공할 수 있습니다. 이 문서는 외부 리버스 프록시 없이 이를 수행하는 방법을 설명합니다. 이 방법을 시도해 보신다면, 해당 게시물에 댓글을 남겨 주시고 성공 여부에 대해 알려 주시면 감사하겠습니다. 작동하는지 확신이 서면 여기에도 게시할 예정입니다.
여러 서버에서 컨테이너를 실행하는 방식은 위의 방법들과 동일합니다. 로드 밸런서 뒤에 동일한 Redis와 Postgres를 공유하는 여러 컨테이너를 배치하게 됩니다.
Discourse 공식 표준 설치 외의 다른 방식으로 설정하는 것은 대부분 지원되지 않습니다. 이는 이러한 설정을 수행하는 방법이 무한히 많기 때문입니다.
첫 번째는, 서로 다른 VM에서 각각 web_only.yml 도커를 여러 개 실행하는 경우의 Sidekiq에 관한 것입니다. 즉, 이 첫 번째 시나리오에서 동일한 Redis 서버를 공유하는 서로 다른 Sidekiq 인스턴스가 동일한 작업을 두 번 실행할 수 있는데, Discourse는 이러한 유형의 오류에 대해 견고한가? 하나의 Sidekiq를 전용 VM(또는 도커)에서 사용하는 것이 더 신뢰할 수 있다면, 이를 web_only Discourse와 어떻게 분리해야 하는가?
두 번째는, 지원되는 설치 방식에 대한 마지막 언급에 관한 것입니다. 여러 컨테이너 구성을 만드는 방법은 무한히 많을 수 있다는 점은 이해하지만, 제 생각에는 수평 스케일링 또는/그리고 고가용성(High Availability)을 위해 여러 인스턴스를 실행하는 지원되는 방식이 두 가지 경우에 필요합니다. 첫 번째는 VM 기반(서로 다른 VM에 있는 서로 다른 Discourse web_only 도커, 그리고 Redis/Postgres는 도커를 사용하지 않고 다른 별도 VM에 직접 설치된 경우)이고, 두 번째는 컨테이너 기반(모든 것이 컨테이너 기반인 경우)입니다.