7

Akkaフレームワークは、外部コードとの対話にのみ型付きアクターを使用することを推奨しています。ただし、akkaの標準的なアクターは型指定されていません。タイプセーフなアクターを作成するためのより良い方法はありますか?akkaの周りに他のアクターフレームワークまたはタイプセーフラッパーはありますか?

4

4 に答える 4

5

静的型付けのアクターが本当に必要な場合は、先に進んで、コード全体で型付きアクターを使用することもできます。これは、いくつかの理由で強くお勧めしません。

1.)システムが一連のRPCに退化するリスクがあります。アクターのreceiveメソッドは、すべてがメッセージパッシングに関するものであることを明確に示しています。型指定されたアクターのメソッドを呼び出すだけの場合は、それほど重要ではありません。

2.)俳優は本当にタイプを持っていません。実行中、アクターが処理できるメッセージは、それらのメッセージで何をするかと同様に、どの状態にあるかによって変わる可能性があります。これは多くのプロトコルをモデル化する優れた方法であり、AkkaアクターはFSMでファーストクラスのサポートを提供しています。

したがって、本当にやりたいのであれば、どこでもタイプされたアクターを自由に使用でき、それは機能しますが、解決しようとしている問題について真剣に考える必要があります。

于 2012-07-01T22:27:00.773 に答える
1

コンパイル時のチェックについては、SynapseGridフレームワークを参照してください。これは、DataFlowトポロジを構築するSystemBuilderを定義します。構築中、通過するタイプがチェックされることが保証されます。次に、結果のシステムは、ネストされ適切に相互接続されたアクターを使用してRuntimeSystemに変換されます。

于 2013-08-09T07:19:15.287 に答える
0

なぜこれがあなたにとって問題なのですか?処理できるメッセージに対してのみ呼び出されるakka.actor.Actorタイプのreceiveメソッドがあります。PartialFunctionコンパイル時のチェックが必要なのはなぜですか?しかし、あなたの質問に答えるには、1つの方法は、外部APIの場合、ラッパーを作成してActorRef、メッセージをアクターに送信することです。

于 2012-07-01T20:41:13.803 に答える
0

物事は非常に速く進んでいます、私はアップデートを与えることを考えました1.タイプされた俳優は非推奨になり ました2.代わりにAkkaTypedの新しい概念がmomemntで開発されています

私が理解したように、これは型付きアクターシステム決定的な解決策になるはずです。しかし、これは少なくとも3回目の試行であり、Akka 2.4で最も早く計画されているため、この主張はまだ証明されていません。

私は個人的に、両方のシステムが利用できることを楽しみにしています。既存のシステムはより動的なユースケース用であり、新しいシステムはより堅牢なユースケース用です。

于 2015-06-25T21:07:23.307 に答える