Haute disponibilité de Discourse

Has anyone played with a HAProxy/nginx/etc?

I could have sworn there was a how-to guide for a way to do distributed hosting, either via Docker or via multiple instances of Discourse all hitting a single high availability database server, but I can’t seem to find a guide for it.

Any thoughts? I’m currently serving a small single Discourse site, but am interested in learning as much as I can about scaling and load balancing of Discourse.

5 « J'aime »

Found it, less than fifteen minutes after I posted. I’ll put any info on snags or clarifications that might be helpful into the conversation here.

The documentation is very fragmented. I’m going to attempt to pull it all together here.

Any chance I could get some input from @nx2zdk or @jspdng?

Info on avoiding port exposure:

Load balancing with nginx:

Enabling http2 on Debian:

Offline page setup:

Je n’ai pas trouvé de réponses claires ailleurs.
J’ai compris que l’installation autonome de Discourse est recommandée pour sa simplicité et sa robustesse dans les environnements standard. Cependant, pour fournir une haute disponibilité, certains suggèrent d’éclater le mode autonome en plusieurs conteneurs (29413), d’autres refont entièrement des déploiements séparés.

  1. Question 1 : Puisque la haute disponibilité consiste à dupliquer les services (web et base de données) avec un basculement fiable, Discourse propose-t-il une telle solution où les services web et les bases de données sont répliqués à l’intérieur des conteneurs ?
  2. Question 2 : Pour les services web, un répartiteur de charge serait nécessaire pour assurer une répartition équitable entre les instances. Quelles sont les recommandations des experts et de la communauté Discourse ?
  3. Question 3 : Pour la haute disponibilité des bases de données conteneurisées, quelle est la méthode la plus préférable pour gérer la réplication PostgreSQL ?
  4. Question 4 : Même question pour Redis.

Il existe un tas de façons de gérer le basculement de postgres. Vous pouvez utiliser ce que vous voulez.

L’hébergement CDCK utilise HA-proxy, d’après mes dernières connaissances. Vous pouvez utiliser n’importe quel équilibreur de charge que vous souhaitez et (principalement) utiliser /srv/status comme indicateur de disponibilité.

1 « J'aime »