アーキテクチャ関連のタスクに特効薬はありません。ただし、一般的に、大規模で長寿命のプロジェクトの場合は、次のタスクを検討する必要があります。
開始する必要のある目標容量を定義します。1回の反復で高可用性システムを構築することはできません。最初は、おそらく世界中で最大ユーザーセッション= 1000から始めることができますが、現時点では拡張する準備ができているはずです。そして、技術的負債を支払うことを恐れないでください。
基礎となる技術的な詳細にもっと注意を払ってください。この点が大規模なプロジェクトにとってどのように重要であるかを想像することはできませんでした。大量のデータを使用すると、いくつかの一般的なソリューションを、独自の目的に合わせて最適化された独自のソリューションに置き換えることができます。これは、データベーススキーム、サーバーへのリクエストの処理、並べ替えアルゴリズムなど、あらゆる状況に関連しています。たとえば、メリットは非常に小さいが、データ量が膨大な場合は、より具体的な並べ替えアルゴリズムを使用すると、数十億ドルを節約できます。このレベルでは、おそらくリクエスト処理シーケンスのレベルでWebサーバーを調整する必要があるため、基本的な詳細とそのソースコードを知っておく必要があります。オープンソースプロジェクトは、実装を改善したり、いつでもバグを修正したりできるため、この点で優れています。
そして最後に、広く知られているスケーリングアプローチをいくつか知っておく必要があります。バランシングとキャッシングは些細なことであり、シャーディング、データ処理の延期、さらにはデータの完全な重複でさえあり得ます(Mark TsukenbergがFacebookに投稿するとき、彼の幅広いサブスクライバーコミュニティのためにデータベースに複数の投稿レコードがあることを考慮してください)