質問
当社のアプリケーションには、リモートアクターである多数のワーカーノードに委任するサーバーノードがあります。このアプリケーションは、ワーカーノードの数を増やすことにより拡張すると予想されます。
Akka 1.3-RC4を使用しており、次のことに気付くので、何か間違ったことをしていることを賭けています。
1>タスクがサーバーからワーカーノードに送信されると、新しいソケットが開かれます。タスクが完了すると、ソケットが閉じます。ソケットが常に開いていないとは限らない理由 /理由はありますか?調整する必要があるconfはありますか?
2>サーバープロセスPIDによって開かれたファイル記述子の数をリストすると、数値はソケットの数に比例してシュートします(完全に予想されます)。このアプリケーションの目標は、巨大な(グローバルな)コンピューティングファームにスケーリングすることですが、ファイル記述子の制限に達すると、サーバーノードはワーカーノードのソケットを開くことができません。別の方法でデザインとアプローチを変更する必要があるのだろうか。
私たちが積極的に検討しているもう1つのことは、Akka 2に移動することですが、この種の問題を解決するより良い方法があるかどうかはわかりません。
ありがとう !
解決
- 接続の読み取りタイムアウトを増やして、それらをより長く開いたままにすることができます
- リモート関連のパフォーマンスの問題を修正するため、1.3-RC6に切り替える必要があります
- akka 2.0 beデフォルトは、アウトバウンドメッセージのインバウンド接続を再生し、ユースケースのスケーラビリティがはるかに優れています
お役に立てれば、
乾杯、√
所属していません StackOverflow