Interface do usuário falha aleatoriamente durante um curto período

Olá!

Instalei meu próprio Discourse ‘estável’ com Postgres e Redis externos.
Para detalhar a arquitetura: no Azure, 1 LoadBalancer, 1 VM hospedando o container do Discourse com compartilhamento NFS para backups e imagens, 1 Postgres, 1 Redis.

Eu o personalizei com meu próprio logo, os plugins discourse-calendar e discourse-news (e outras coisas também, mas irrelevantes aqui).

Aleatoriamente, por um período de cerca de 30 minutos, algumas falhas na interface do usuário ocorrem:

  • O logo principal reverte para o padrão
  • O favicon reverte para o padrão
  • A página “upcoming-events” gerada pelo discourse-calendar desaparece (sem link e resposta 404 ao acessar por URL)
  • O logo personalizado dado ao discourse-news (com uma URL) desaparece

Depois, ele volta.

Não tenho nada nos logs sobre isso.
Meu console do navegador não mostra nada.
Uma coisa que posso dizer é que durante esse período, consigo ver um aumento nas falhas de cache do Redis.

Alguém pode me ajudar a solucionar isso? Eu nem sei onde posso encontrar logs relevantes…

Receio que isso esteja muito longe da instalação padrão para que eu saiba alguma coisa. :slight_smile:

Você conseguiu encontrar o que precisava?

2 curtidas

Não, eu não consegui.
E meu problema continua aparecendo ocasionalmente :disappointed_relieved:
Eu não sei onde procurar uma pista…

O mais fácil seria mudar para uma instalação stabs/standard. Seria mais barato também. Não consigo imaginar o que poderia ser.

1 curtida

@pfaffman eu usei a instalação padrão do meu ponto de vista.
Exceto que usei o recurso fornecido para usar banco de dados e redis externos.
Mas eu uso o app.yaml e o docker build e run descritos na instalação padrão.

Eu fiz isso para poder fornecer alta disponibilidade e diferentes estratégias de escalonamento: com uma implantação totalmente independente, você só pode escalar verticalmente (aumentar a escala do seu nó) e não ter alta disponibilidade.

Entendi. Isso parece que deve funcionar. Minha melhor suposição é que você está reduzindo para zero máquinas virtuais e o que você vê é o site em cache no seu navegador. Ou alguma outra forma de o balanceador de carga não estar se conectando ao host. Ou o Discourse não está recebendo o IP real e está limitando a taxa (mas geralmente você veria um erro).

Mas seus recursos de alta disponibilidade estão fornecendo baixa disponibilidade. A menos que você esteja passando de dezenas de usuários na maior parte do tempo para milhares em outros momentos (como para um site de esportes), o escalonamento provavelmente causará mais problemas do que soluções.

Portanto, a primeira coisa que eu faria seria remover o balanceador de carga e ver se isso resolve. Depois, decida o que fazer a partir daí. Se acontecer uma vez por mês, não será fácil diagnosticar.