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.
Ich konnte nirgendwo passende Antworten finden.
Ich habe verstanden, dass die Standalone-Installation von Discourse für ihre Einfachheit und Robustheit in Standardumgebungen empfohlen wird. Um jedoch Hochverfügbarkeit (High Availability, HA) zu gewährleisten, schlagen einige vor, den Standalone-Modus in mehrere Container aufzuteilen (29413), andere schlagen eine vollständige Neugestaltung separater Bereitstellungen vor.
Frage 1: Da HA die Duplizierung von Diensten (Web und DB) mit zuverlässigem Failover bedeutet, schlägt Discourse eine solche Lösung vor, bei der sowohl Webdienste als auch Datenbanken innerhalb von Containern repliziert werden?
Frage 2: Für Webdienste wäre ein Load-Balancer erforderlich, um eine gleichmäßige Verteilung der Last zwischen den Instanzen zu gewährleisten. Was sind die Empfehlungen von Discourse-Experten und der Community?
Frage 3: Was ist der bevorzugte Weg, um die PostgreSQL-Replikation für die containerisierte DB-HA zu verwalten?
Es gibt eine Reihe von Möglichkeiten, mit PostgreSQL-Failover umzugehen. Sie können verwenden, was Sie möchten.
Das CDCK-Hosting verwendet HA-Proxy, soweit ich weiß. Sie können jeden Load Balancer verwenden, den Sie möchten, und (meistens) /srv/status als Bereitschaftsanzeige verwenden.