Je propose d’ajouter ces fichiers au dossier des modèles :
- postgres.master.yml
- postgres.slave.yml
- redis.master.yml
- redis.slave.yml
De cette manière, le clustering de Discourse, ainsi que toutes les complications liées à ce sujet, disparaîtront.
À ma connaissance, le conteneur Redis ne peut pas être dupliqué en raison des transactions uniques du bus de messages, mais il semble pouvoir être répliqué.
Avantages architecturaux ?
-
Possibilité d’initialiser (web.template.yml + web.template.yml + redis.master.yml) sur le nœud maître, et uniquement (web.template.yml + postgres.slave.yml + redis.slave.yml) sur le nœud esclave, SANS devoir se référer au nœud maître. Cela réduit considérablement la charge et exploite la puissance de l’équilibreur de charge Nginx placé devant l’ensemble.
-
L’ambitieuse prise en charge d’une section de clustering dans l’interface d’administration deviendra réalisable !
Discourse est sans doute l’application open source la plus avancée jamais créée. Merci à l’équipe derrière cette technologie de pointe.