私は動的に重いリソース(例:大きな画像)をロードする方法を見つけるためにしようとしている心の中で以下の制限付きで、世界のさまざまな部分からのユーザのために:世界のさまざまな地域のユーザーに重いリソース(例:大きな画像)を動的に読み込む方法は、1つのアプリケーションサーバーとCDNなしのみです。
- 私は1アプリケーションサーバーを持つことができます(複数のアプリケーションサーバーに接続するロードバランサを使用する代わりに)。
- しかし、pics/pdfs/videosのような重い静的リソースを格納する複数のストレージサーバー(Webサーバーを実行している)を持つことができます。
- (予算上の問題のため)商用CDNを使用することはできません。別のストレージ・サーバに移動するために、異なるIPからのユーザーを導くようにApacheのmod_rewriteのルールを使用して、アプリケーションサーバー上で
- :
は現在、私は2つのアイデアを持っています。
- アプリケーションサーバー(ケーキフレームワークでPHPを使用しています)でコードを変更するので、アプリケーションサーバーはクライアントユーザーのIPに応じて異なるリソースURLを表示します。
私の質問は、どちらがあなたですか、なぜですか?または、結果を達成するための他の方法をお勧めしますか?
は、あなたには、いくつかのCDNを余裕ができるようになります。
Splitting the Cache Across Multiple Hard Drives
セクションには、お使いのハードウェアに基づいて、サーバーは、オプションである可能性があります。基本的な問題は、mod_rewriteとapp modのいずれかがレンダリング時にリソースを消費するため、パフォーマンスのスピードを交換することです。 mod_rewriteを実装する方が簡単です。 – LordNeoコメントありがとうございます!私は中国人ユーザーにサービスを提供しなければならないので、CDNは設定するのがもう少し難しいです。中国政府は、すべてのウェブサイトが必要です、ドメイン名がある限り、あなたは "ICP"のライセンスを持っている必要があります。我々はそれを適用することができますが、タイミングだけが私たちの問題です。また、ICPを適用する必要がある中国法人もありません。例:https://www.amazonaws.cn/en/about-aws/china/ – user8369660
さて、私の力はすべてあなたに行きます。私はまだmod_rewriteを提案します。これは簡単に実装することができます。あなたの "大きな資産"フォルダにそれを条件付けするだけで完了です。 – LordNeo