2016-08-30 17 views
1

プロキシキャッチサーバーの使用経験がある人は、そのようなアーキテクチャーを使用するといくつかの利点と欠点を指摘できますか? 一部のチームメンバーは、エンタープライズアプリケーションでプロキシサーバーの使用を促進しようとしています。アプリケーションは、これらのシステムを直接参照するのではなく、他のシステムと通信し、データをフェッチしてこのデータを処理する中間アプリケーションの一種です。 下の図は、2つのアーキテクチャを示しています。プロキシキャッチサーバーを使用する利点と欠点は何ですか?

enter image description here

+1

キャッシュには何がありますか? –

+0

良い質問...しかし、実際にキャッシュに入れたいものは本当に分かりません。 – Adelin

+1

これらのApp Serverからの応答がキャッシュ可能であるかどうかは分かりますか?例えば。 ETagがないか、またはExpires、ヘッダーがない場合、キャッシュが途中で取得されたり、古いデータが処理されなくなることがあります。すべてのデータは、それらのサーバーからキャッシュすることができると期待されているものであり、それらを制御しています。 – Adrien

答えて

1

すべてはあなたが解決する必要がある問題に依存します。データベースサーバーとアプリケーションサーバーに関してかなり簡単なことがあれば、Redisのようなものにキャッシュすることは試してみる価値があるかもしれません。ただし、サーバーの負荷が大きい場合は、キャッシュが必要になることがあります。例えば、長い記事やコメントがたくさんあるニュースサイトについて言えば、静的なHTMLファイルを生成してプレッシャーを軽減する価値があるかもしれませんが、データの新鮮さにはコストがかかります。たとえば、記事にコメントを書いて記事がキャッシュされ、キャッシュが2日後に期限切れになった場合、キャッシュの更新がトリガーされない限り、2日間「あなたのコメントは管理を待機しています」と表示されます。想像を絶する最高のユーザーエクスペリエンスではありません。しかし、コンテンツが変更されたときにいつでもキャッシュをリフレッシュすることができます。また、このようなキャッシングシステムを使用する場合は、キャッシングされたアイテムを個別に、または小さなグループで追跡して、記事のキャッシュを1つだけ変更したときにキャッシュを更新しないようにする必要があります。この場合、アプリはプロキシキャッシュのリフレッシュをトリガする必要があります。しかし、あなたはキャッシュシステムを使用していることに気づいていて、キャッシュリフレッシュを引き起こす多くの書き込み操作を生成するハックティビストに対処しなければなりません。このような状況に対処するためには、キャッシュ寿命の設定を最小限に抑えることが望まれます。しかし、ユーザーエクスペリエンスでもう一度支払います。

だから、答えるために質問です:私の技術的な問題は、私はパフォーマンスを得るために、ユーザーエクスペリエンス、かなりの量を犠牲にする必要があることをそれほど深刻

ていますか?もしそうなら、キャッシュの寿命はどれくらいですか?ユーザーエクスペリエンスからどれくらい犠牲にすることができますか?

システムがすばやく、ユーザーにサービスを提供し、サーバーの負荷が大きければ、これは時期尚早の最適化であり、避けるべきです。差し迫った問題やすでに問題がある場合は、最適化する必要があります。最適化の可能性の中で、このアプローチは、それ自体の浮き沈みを伴う可能性である。

+0

優秀な回答...!私たちが捕らえようとしているのは正確なデータです。私はそれが良い考えではないと思います。 – Adelin

関連する問題