Suporte a Modelos de Cluster [Alta Disponibilidade] [Redundância]

Proponho essas adições à pasta de templates:

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

Dessa forma, o cluster do Discourse e toda a dor de cabeça em torno desse assunto desaparecerão.

Pelo que entendo, o container do Redis não pode ser duplicado devido às transações exclusivas do message-bus, mas aparentemente ele pode ser replicado.

Benefícios Arquiteturais?

  1. Capacidade de fazer o bootstrap (web.template.yml + web.template.yml + redis.master.yml) dentro do nó mestre e apenas (web.template.yml + postgres.slave.yml + redis.slave.yml) dentro do nó escravo, SEM precisar retornar ao nó mestre, o que alivia significativamente a pressão e aproveita o poder do balanceador de carga Nginx à frente de todos eles.

  2. O ambicioso suporte a uma seção de clusterização na interface do usuário dentro do painel administrativo se tornará viável!

O Discourse é, sem dúvida, o aplicativo de código aberto mais avançado já criado. Obrigado à equipe por trás dessa tecnologia de ponta.

Isso seria útil para backup em streaming, mesmo que nenhuma failover de HA esteja configurada. Você criou um PR com o conteúdo sugerido para esses arquivos?

Como você esperaria gerenciar atualizações do banco de dados para novas versões principais do PostgreSQL ao implantar dessa forma em vários nós?