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?
-
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.
-
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.