Discourseホスティングインフラストラクチャに関するガイダンス

Discourse を EC2 インスタンスでホストしており、CDN の履歴データによると、コミュニティ サイズは 1 か月あたり平均約 2,003 万リクエストになると予想されます。必要なインスタンスの数とサイズ、およびオートスケーリングが必要かどうかについての提案をお願いします。

「いいね!」 1

うーん、Discourse は 1 台のマシンで、1 つまたは 2 つの Docker コンテナを使用して実行できますが、複数のインスタンスに分散することについては何も見たことがありません。通常は、より大きなインスタンスにスケールアップします。CPU を増やし、RAM を増やします。アップロードされたアセットには、ローカルストレージまたはクラウドストレージを使用できます。

しかし、そのレベルのトラフィックは 1 秒あたり 1 ~ 2 リクエストであり、それほど多くはないと思います。

通常は、小さなインスタンスから始めて、メモリ使用量と CPU 負荷に応じて必要に応じてサイズを変更します。お金がたくさんある場合は、より大きなインスタンスから始めます。

申し訳ありませんが、月あたり2000万件のリクエストです。現在のウェブサイトでは、7台のt3a.mediumインスタンスと1台のt3a.largeインスタンスでオートスケーリングを利用しており、このウェブサイトをDiscourseプラットフォームに移行しています。必要なインスタンスの数とサイズ、およびオートスケーリングが必要かどうかについて、提案をいただきたいと思います。

何が必要になるか推測するのは難しいです。月間350万PVを8GB/4CPUのVMで処理しているサイトを知っています。それをガイドラインとして使用できます。そのサイトは画像を自分で提供していますが、これは(簡単に?)複数のインスタンスではできません。おそらく、サイトとS3バケットにはS3とCDNにアセットがあるでしょう。

「リクエスト」と「ページビュー」が同じかどうかは、あまり考えられません。

スケーリングが必要かどうかは、トラフィックパターンによって異なります。以前にスケーリングが必要だったなら、Discourseでもおそらく必要になるでしょう。トラフィックが比較的安定していて、スケーリングが必要ないのであれば、簡単な解決策は単一の大きなVMで、おそらくRDSとElasticacheでしょう。チームが好むツールや方法、予算などにも依存します。

「いいね!」 2

単一の大きなEC2インスタンスでDiscourseをホストしている場合、サイト全体がダウンします。この問題に対する解決策を提供してください。データベースにはRDS、キャッシュにはElasticacheを使用する予定です。

次に、ロードバランサーとECSまたはお気に入りの他のソリューションを使用します。

「いいね!」 1