Primeiramente, estou ciente da configuração recomendada do Discourse, mas, infelizmente, isso está fora do meu controle no momento.
Agora, sobre o problema. Meu cliente desenvolveu um frontend React personalizado que usa o Discourse como backend. Eu herdei o projeto em um estado ruim, e os desenvolvedores anteriores tentaram integrar o ActionCable ao Discourse de forma forçada. Como o Discourse já utiliza o Message Bus para recursos em tempo real, pensei que deveríamos tentar usá-lo.
Tivemos sucesso localmente. O Message Bus ‘simplesmente funciona’, e conseguimos nos inscrever em todos os canais padrão do Message Bus do Discourse, além de criar alguns próprios.
O problema que estamos enfrentando ocorre nos nossos ambientes remotos. Estamos implantando em instâncias AWS EC2 atrás de um ALB (Application Load Balancer) e montando o ambiente nós mesmos. Teria adorado seguir a rota do Docker, mas o cliente simplesmente não tinha orçamento para gastar tempo mudando as coisas nesta fase do projeto ![]()
O principal sintoma é que o Message Bus apresenta um atraso terrível. Nada é realmente em tempo real, mas sabemos que a configuração do Message Bus está correta, pois funciona muito bem localmente; então, deve ser algo mais.
Estou usando praticamente a configuração padrão do nginx do Discourse. Inicialmente, pensei que esse fosse o problema, já que a configuração do nginx para o Message Bus estava faltando, mas, após adicioná-la, parece que isso não resolveu os problemas que estamos observando.
Após analisar a aba de rede no Chrome, ficou claro que há um problema, pois nossas solicitações /poll ficam aguardando por 25 segundos e depois baixam o conteúdo em milissegundos. Sei que deveria ser o contrário, como acontece quando estou executando localmente ou como ocorre no meta.
Estou ciente de que isso também pode ser um problema do AWS ALB, mas estou literalmente sem ideias de por onde começar. Estava me perguntando se @sam poderia ter alguma ideia do que pode ser o problema ou se poderia me apontar na direção certa.
Como sempre, qualquer ajuda é muito apreciada!
