1

時間的制約のある Web サービス呼び出しを大量に行う場合のベスト プラクティスとよくある間違いを共有していただけないでしょうか。

私の場合、SOAP と XML-RPC ベースの Web サービスを使用しており、常に呼び出しを行っています。1 秒あたりの呼び出し数が増えるにつれて、これはすぐに問題になると予測しています。

より高いレベルでは、これらの呼び出しをバッチ処理して、100 ミリ秒ごとに Web サービスに送信することを考えていました。他に何が機能するかを共有できますか?

下位レベルでは、クライアントの実装に Apache Xml-Rpc クライアントと標準の javax.xml.soap.* パッケージを使用します。これらのパッケージに関するクライアントのスケーラビリティ関連のトリック/ヒント/警告を認識していますか?

前もって感謝します

ユリー

4

1 に答える 1

0

JavaScriptでは常にイベントポンプを処理していることに注意してください。ブラウザイベントが発生するか、タイマーが期限切れになり、JavaScriptのチャンクが実行されます。その実行モデルを念頭に置いて、定期的なバッチと送信プロセスを実行することを考えたくはありません-代わりに、1つのイベントポンプで発生するすべての呼び出し(実行中のjavascriptのチャンク)をまとめてバッチ処理しますブラウザからの1つのイベントに応答して)、それらを送信します。

これは、すべての呼び出しがパラメーターとコールバック関数を含む呼び出しをグローバル配列にキューに入れるようにrpcコードを変更することによって行われます。最初の呼び出しをキューに入れる場合setTimeout(..., 0)は、キュー内のすべてを送信してクリアする関数もスケジュールします。配列。

それから始めて、後で他の実行モデルを試すことができます。たとえば、最初のリクエストを取得したときにすぐに実行し、現在のイベントポンプが完了した後に他のすべてをバッチで送信します。

于 2010-04-30T00:28:07.177 に答える