Ho installato la mia istanza ‘stable’ di Discourse con Postgres ed Redis esterni.
Per precisare l’architettura: in Azure, 1 LoadBalancer, 1 VM che ospita il container Discourse con condivisione NFS per backup e immagini, 1 Postgres, 1 Redis.
L’ho personalizzato con il mio logo, i plugin discourse-calendar e discourse-news (e altre cose, ma irrilevanti qui).
Casualmente, per un periodo di circa 30 minuti, alcune parti dell’interfaccia utente falliscono:
Il logo principale torna a quello predefinito
La favicon torna a quella predefinita
La pagina “upcoming-events” generata da discourse-calendar scompare (nessun link e risposta 404 quando si accede tramite URL)
Il logo personalizzato fornito a discourse-news (con un URL) scompare
Poi ritorna tutto alla normalità.
Non ho nulla nei log a riguardo.
La console del mio browser non mostra nulla.
Una cosa che posso dire è che durante questo periodo, vedo un aumento dei Redis cache miss.
Qualcuno può aiutarmi a risolvere questo problema? Non so nemmeno dove trovare log pertinenti…
@pfaffman ho utilizzato l’installazione standard dal mio punto di vista.
Tranne che ho utilizzato la funzionalità fornita per usare db esterno e redis.
Ma ho usato app.yaml e docker build and run descritti nell’installazione standard.
Ho fatto ciò per poter fornire alta disponibilità e diverse strategie di scaling: con un deployment completamente standalone, puoi scalare solo verticalmente (aumentare le risorse del tuo nodo) e non avere alta disponibilità.
Capisco. Sembra che dovrebbe funzionare. La mia migliore ipotesi è che tu stia ridimensionando a zero macchine virtuali e quello che vedi è il sito memorizzato nella cache nel tuo browser. O qualche altro modo in cui il bilanciatore di carico non si connette all’host. O discourse non sta ottenendo l’IP reale e sta limitando la frequenza (ma di solito vedresti un errore).
Ma le tue funzionalità di alta disponibilità stanno fornendo bassa disponibilità. A meno che tu non stia passando da decine di utenti la maggior parte del tempo a migliaia in altri momenti (come per un sito sportivo), allora il ridimensionamento probabilmente causerà più problemi che soluzioni.
Quindi la prima cosa che farei è eliminare il bilanciatore di carico e vedere se questo risolve il problema. Poi deciderò cosa fare da lì. Se succede una volta al mese non sarà facile da diagnosticare.