A と B の 2 つのデータベースがあり、Web ページを提供し、データを共有する必要がある場合に内部ネットワークを介して相互に通信します。サーバー A は、サーバー B で大量のデータを含む集中的な計算を必要とするグラフを含む Web ページを生成する必要がある場合があります。両方のサーバーが同等に強力で、ネットワークが高速であると仮定しましょう。これを行う良い方法を見つけようとしています。これまでのアイデア:
- サーバー B は多くの計算を行い、サーバー A に結果の小さなセットを返すことができます。柔軟性は劣りますが、かなり効率的です。残念ながら、これはやや複雑な取引です。多くのパラメーター、副作用、および結果を持つメソッドと比較します。
- サーバー B は、単純に独自の生データ サーバーを A に提供し、すべての計算を処理させることができます。より「オープン」で柔軟性がありますが、計算には大量のデータが含まれ、サーバー A はそのすべてをネットワーク経由で取得する必要があるため、効率が低下します。
- サーバー B は、チャートまたはチャートへのリンクを作成して返すことができます。おそらく最も効率的ですが、柔軟性が低く、サーバー B がサーバー A の Web ページの作成を部分的に担当するという厄介な関係を作成します。ただし、少なくともサーバー A は、複雑なオブジェクトを取得することを心配する必要はなく、それをどう処理するかを知っています。
パフォーマンスと保守可能なカプセル化のバランスをもたらすベスト プラクティスはありますか? それとも単にケースバイケースですか?私は最初のオプションに傾いています。この質問が十分に「回答可能」であり、議論の問題ではないことを願っています. 一般的な問題を特定のシナリオに集中させようとしました。