Olá pessoal.
Como implantar um Discourse secundário/de espera?
Pensei que seria um tópico bastante comum, mas não consegui encontrar nada sobre isso.
Tal Discourse de espera estaria - obviamente, em minha opinião, portanto, tentando configurá-lo dessa forma - rodando em nós escravos/somente leitura, somente leitura tanto para Redis quanto para pgSQL. Mas o Discourse falha ao iniciar com:
\u003e Redis::CommandError: ERR Error running script (call to f_bcec1d9b3bbcfb089dc0b7316771be9f011872b6): @user_script:8: @user_script: 8: -READONLY You can’t write against a read only replica.
mesmo com DISCOURSE_SKIP_BOOTSTRAP=yes
Como vocês fazem isso - isso é tudo em/sobre contêineres - é possível ter um Discourse de espera assim - da maneira que estou tentando ou qualquer outra abordagem - ter uma configuração de alta disponibilidade (HA)?
Se você quiser alta disponibilidade (HA), você configuraria o postgres para replicar, e talvez o redis também, embora não seja um grande problema apenas começar com um novo redis.
Existem guias sobre como configurar a replicação do postgres em outros lugares. Ou você poderia fazer o RDS fazer isso por você.
Pelo que entendi, não há tecnologia oficial não de terceiros para fazer multi-master pgSQL e ainda mais que se aplique ao Redis.
É realmente impossível informar ao Discourse sobre tal ambiente e dizer para não se preocupar e/ou ignorá-lo?
Se não for e @devel ler isto, então sugiro - muitos acho que apreciarão - “aprimorar” o Discourse dessa forma - para que ele faça todas as verificações necessárias, mas não falhe, mas inicie e execute em tais “dados” somente leitura.