私はPlayフレームワークとAkkaを使用してプログラミングを始めました。私は今、デフォルト/基本的なPlay環境で概念実証アプリケーションを開始しています。私の質問は、PlayのWebサービスクライアントAPI(http://www.playframework.org/documentation/2.0.1/ScalaWS)に由来しています。Akkaを使用してPlayアプリケーションからWebサービスコールを作成
このアプリケーションは、基本的に、リモートSOAP Webサービスへの呼び出しをスケーラブルでパフォーマンスの高い方法で仲介する必要があります。ブラウザはJSONでajax呼び出しを行い、応答時にはPlayアプリケーションでSOAP/XMLに変換する必要があり、逆も同様です。
コントローラを介して直接プレイWebサービスクライアントを使用した場合、これらの呼び出しは非同期になる可能性があります。これは、現在行っている処理(ブロッキング)よりも優れています。しかし、これが正確にどのように重い負荷の下で動作するかについて私は明確ではない。並行性/スレッド管理は、基本となるNettyサーバにほとんど委ねられますか?それを調整する方法はありますか?
コントローラからのアクタアクターシステムを使用して、ルーティングポリシー、プールサイズ、フォールトトレランスなどを制御する方法もあります。このアプローチを採用すると、Playの非同期WSクライアント?もしそうなら、(Futuresを構成する)このアプローチは推奨されるパターンでしょうか?
Akkaのアプローチをより魅力的にしてくれるもう一つの要因は、このアプリケーションが最終的にはいくつかの責任を負うことになるため、このActorSystemに許可されるリソースを制御/調整し、 SOAPサービス。あなたが詳述されている2つのオプションがうまくいく
実際には、私は二重非同期の一種だと思っていました。アクターは引き続きWS API(または基礎となるning async httpclient)を使用できますか? – anchormath
WSリクエストで約束を取り戻します。俳優はそれを引き続き使用することができます。 – iwalktheline