클러스터 템플릿 지원 [고가용성] [중복성]

템플릿 폴더에 다음과 같은 추가 사항을 제안합니다:

  • postgres.master.yml
  • postgres.slave.yml
  • redis.master.yml
  • redis.slave.yml

이렇게 하면 Discourse 클러스터링과 이 주제에 대한 모든 고민이 사라질 것입니다.

제 이해로는 Redis 컨테이너는 메시지 버스의 고유한 트랜잭션 때문에 복제할 수 없다고 생각했지만, 실제로는 복제(replication)가 가능한 것으로 보입니다.

아키텍처적 이점?

  1. 마스터 노드에는 (web.template.yml + web.template.yml + redis.master.yml)만, 슬레이브 노드에는 (web.template.yml + postgres.slave.yml + redis.slave.yml)만 부트스트랩할 수 있습니다. 마스터 노드에 대한 참조가 불필요하므로 부하가 크게 줄어들며, 그 앞에 배치된 Nginx 로드 밸런서의 성능을 활용할 수 있습니다.

  2. 관리자 대시보드 내에 UI 클러스터링 섹션을 지원하는 야심 찬 계획이 실현 가능해집니다!

Discourse는 아마도 지금까지 만들어진 가장 진보된 오픈소스 애플리케이션일 것입니다. 이 최첨단 제품을 만든 팀에 감사드립니다.

HA 페일오버가 구성되지 않은 경우에도 스트리밍 백업에 유용할 것입니다. 이러한 파일에 대한 제안된 내용을 담은 PR을 생성해 보셨나요?

이러한 방식으로 여러 노드에 배포할 때, 데이터베이스를 새로운 주요 PostgreSQL 버전으로 업데이트하는 것을 어떻게 관리할 것으로 기대하시나요?