0

JBoss サーバーには、JSP があります。これを taketoolong.jsp と呼びましょう
。最大 30 ~ 45 秒かかる処理を行います。(はい、最適化する必要があることはわかっています)。その後、それは戻ります。30 ~ 45 秒は、明らかな理由から、ユーザー エクスペリエンスにとって長すぎると見なされます。そのため、リクエストの結果をキャッシュすることでこの時間を短縮できるように、Akamai とロード バランサーが導入されます。ただし、ある時点で、jsp の戻り値の内容が変更され、キャッシュがタイムアウトになります。ユーザーが再び 20 ~ 45 秒のダウンロード時間を表示しないようにするにはどうすればよいですか? 特に、IP やその他の要因を使用せずに、30 秒以上の遅延なしで処理結果を Android デバイス/ユーザーに返すように Akamai を構成する方法を教えてください。Android デバイス用に Akamai を設定する方法を教えてください。

4

1 に答える 1

0

私の提案は、キャッシュされた結果のみが表示されるように、takestoolong.jsp をユーザーから完全に分離することです....

これを行うには、takestoolong.jsp ページへのリクエストを作成する二次プロセスが必要です (これは、サービスをヒットして結果を html ページに書き込む単純な cron ジョブである可能性があります)。 HTML の静的フラグメントを配信するサーバー。

そうすれば、ユーザーに遅延を表示することなく結果を更新できます。また、書き込みがコミットされる瞬間までコンテンツが変更された場合でも、ユーザーには古いコンテンツが表示されますが、遅延はありません。

[FWIW は、同様の問題に対処するためにこのアプローチを使用しました...巨大で恐ろしく複雑な SQL クエリは、SQL Server からデータを取得し、MySQL データベースに対して一連のサブクエリを実行し、応答を統合する必要がありました。中間出力ページを使用し、IIS とブラウザー キャッシングに依存することにより、ユーザーは、絶対的な真実である古いデータをわずかに保持することがありますが、基になるクエリの実際の応答時間にさらされることはありません]

于 2013-01-18T00:32:18.437 に答える