En una configuración de múltiples nodos con un contenedor web_only detrás de un balanceador de carga, noté que algunas configuraciones, cuando se cambian, solo se aplican a un solo nodo (probablemente al que estaba conectado a través del balanceador de carga al realizar los cambios).
Noté específicamente estos: Global notice (Aviso global), Globally pinned posts (Publicaciones fijadas globalmente) y ahora el último, al cambiar el tema para actualizar uno personalizado.
Al final, los cambios solo se representan para los usuarios si el balanceador de carga los conecta al mismo nodo donde se realizaron. Lo que lleva a cargas de página mixtas y a una representación desordenada del sitio en algunos casos.
Ahora la pregunta.
¿Necesito ejecutar algún comando de recarga de configuración en rake en todos los nodos después de tales cambios o quizás se deba agregar alguna variable de entorno específica al contenedor al ejecutarlo, para que las recargas automáticas/modo clúster para que la configuración se propague automáticamente a los nodos hermanos?
¡Gracias! Tenía la sensación de que me faltaba algo ahí. ¿Quizás hay algún artículo de documentación que mencione después de qué cambios de configuración se requieren dichas acciones? Hice una búsqueda rápida en los artículos de documentación y no noté nada al respecto o específicamente para la configuración de HA.
Sí. Redis es compartido por todas las instancias de nodos de Discourse. Creé la configuración para que sea HA, por lo que hay S3/Redis/PostgreSQL separados.
¿Observas algún mensaje de error similar a Global messages on xx timed out, message bus is no longer functioning correctly dentro de /logs?
Anteriormente, descubrí que cuando Redis y el bus de mensajes se ejecutan en hosts separados, se producen tiempos de espera (timeouts), lo que provoca un fallo en la sincronización entre diferentes workers de Unicorn.
Mi solución temporal fue recargar periódicamente todo el servidor Unicorn.
Ah. Después de todo, estuvieron esos mensajes Global messages on xx timed out, message bus is no longer functioning correctly. Pero erróneamente busqué en el directorio de logs real. Ahora, al mirar en la sección de errores de los logs de la interfaz web, sí noté las entradas que mencionaste. Necesito acostumbrarme al hecho de que los diferentes errores aparecen en diferentes lugares para Discourse. Aún así, es bueno tener funciones en el lado web de Discourse.