Discourse High Availability

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

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:

他では明確な答えが見つかりませんでした。
Discourse のスタンドアロン インストールは、標準環境でのシンプルさと堅牢性から推奨されていると理解しています。しかし、高可用性 (HA) を提供するために、スタンドアロン モードを複数のコンテナに拡張する (29413) という提案もあれば、完全に分離されたデプロイメントを再設計するという提案もあります。

  1. 質問1: HA は、信頼性の高いフェイルオーバーを備えたサービスの複製 (Web および DB) に関することですが、Discourse は Web サービスと DB の両方がコンテナ内でレプリケートされるようなソリューションを提案していますか?
  2. 質問2: Web サービスの場合、インスタンス間の負荷分散を確保するためにロードバランサーが必要になります。Discourse の専門家やコミュニティの推奨事項は何ですか?
  3. 質問3: コンテナ化された DB の HA について、PostgreSQL レプリケーションを管理する最も好ましい方法はどのようなものですか?
  4. 質問4: Redis についても同様の質問です。

Postgres のフェイルオーバーに対処する方法はたくさんあります。好きなものを使用できます。

CDCK ホスティングは HA-proxy を使用しています。私が知る限りでは。好きなロードバランサーを使用でき、(ほとんどの場合) /srv/status を準備完了インジケーターとして使用できます。

「いいね!」 1