2016-09-14 4 views
0

私はAkkaの仕組みとActor Modelを使用するためのベストプラクティスを理解しようとしています。Akka Actor Countを定義するベストプラクティスは何ですか

私は同じことについていくつかの質問があります。

質問:

  1. 述べたシナリオ下のためのアクターとスレッドの合計数を設定するときに我々は心に留めておく必要があります決定する要因は何ですか?

    シナリオ:

    a。 がアクター(FireとForget)で呼び出されています。

    b。 が呼び出されています(Futures and Promise)。

  2. Routerを使用して手動でアクターを作成する場合よりもRoundRobinRouter(X)を使用する利点/欠点は何ですか?

  3. メッセージ処理のためにディスパッチャがMailBox、Actor、およびThreadsをどのように調整するか。

答えて

1

未公開商品と約束は、俳優とルーターとは独立して使用することができます。以下のAlvin Alexanderのリンクは、Futures/Promises to Threads(Javaと同じ)を比較する素晴らしい仕事です。

使用するルーティングのタイプは、特定のアプリケーションのニーズによって異なります。一般的には、解決しようとしている実際の問題を反映するルーティング手法を選択する必要があります。例えば。メールボックスやバス/ブロードキャスト、またはラウンドロビンのようなものです。

Akkaが提供するビルトインルータを使用しない場合は、独自のルータを作成したくなるかもしれません。しかし、Akkaライブラリを改善するのは難しいかもしれません。下のakka.ioドキュメントでは、ルーティング作業の一部がライブラリによってアクターに委任されていることを説明しています。これは、スレッド化されています。

数ギガバイトのRAMがある場合は、典型的なコンピュータで何千ものスレッドやアクターを起動できます。しかし、実際に実行しているスレッドの数は、いずれの時点でも、CPUに搭載されているコアの数を上回ることはありません。

http://doc.akka.io/docs/akka/2.4.10/scala/routing.html

Akka messaging mechanisms by example

How many actors can be launched in scala?

http://alvinalexander.com/scala/differences-java-thread-vs-scala-future

:ここ

は、あなたが技術が使用する決定に役立つ、適切なスレッドの数や俳優あるかもしれないいくつかの記事ですHow many threads can ran on a CPU at a time

関連する問題