Instalé mi propio Discourse ‘estable’ con Postgres y Redis externos.
Para precisar la arquitectura: en Azure, 1 LoadBalancer, 1 VM alojando el contenedor de Discourse con un recurso compartido NFS para copias de seguridad e imágenes, 1 Postgres, 1 Redis.
Lo personalicé con mi propio logo, los plugins discourse-calendar y discourse-news (y otras cosas también, pero irrelevantes aquí).
Aleatoriamente, durante un período de unos 30 minutos, algunos elementos de la interfaz de usuario fallan:
El logo principal vuelve al predeterminado.
El favicon vuelve al predeterminado.
La página “upcoming-events” generada por discourse-calendar desaparece (sin enlace y respuesta 404 al acceder por URL).
El logo personalizado dado a discourse-news (con una URL) desaparece.
Luego vuelve a la normalidad.
No tengo nada en los registros sobre esto.
La consola de mi navegador no muestra nada.
Una cosa que puedo decir es que durante este período, puedo ver un aumento de los fallos de caché de Redis.
¿Alguien puede ayudarme a solucionar esto? Ni siquiera sé dónde puedo encontrar registros relevantes…
@pfaffman Usé la instalación estándar desde mi punto de vista.
Excepto que utilicé la función proporcionada para usar una base de datos externa y Redis.
Pero uso app.yaml y docker build and run descritos en la instalación estándar.
Lo hice para poder proporcionar alta disponibilidad y diferentes estrategias de escalado: con una implementación completamente independiente, solo puedes escalar verticalmente (escalar tu nodo) y no tener alta disponibilidad.
Entiendo. Eso suena como que debería funcionar. Mi mejor suposición es que estás reduciendo a cero máquinas virtuales y lo que ves es el sitio en caché en tu navegador. O alguna otra forma en que el balanceador de carga no se conecta al host. O Discourse no está obteniendo la IP real y está limitando la velocidad (pero normalmente verías un error).
Pero tus características de alta disponibilidad están proporcionando baja disponibilidad. A menos que estés pasando de tener decenas de usuarios la mayor parte del tiempo a miles en otros momentos (como en un sitio deportivo), entonces escalar probablemente causará más problemas de los que resuelve.
Así que lo primero que haría es deshacerme del balanceador de carga y ver si eso lo soluciona. Luego, decidir qué hacer a partir de ahí. Si sucede una vez al mes, no será fácil de diagnosticar.