2016-08-09 1 views
1

私はAkka .NETの一貫したハッシングルータを少し試しました。ハッシュに使用するキーを指定することはできますが、アクター間でキーを割り当てる方法を決定するのはルーターです。一貫したハッシュを使用するときにどのアクタがどのキーを取るかを決定できますか?

アクターAはタイプAのメッセージを受け取り、アクターBはタイプBのメッセージを受け取ります。これはすべて一貫したハッシングルーターで可能ですか?

答えて

2

いいえ、既存のルータでは不可能です。

EventBus(Context.System.EventStream.Subscribe(Self, typeof<MyMessage>);)を使用して特定のメッセージタイプにアクターをサブスクライブし、system.EventStream.Publish(new MyMessage());にコールすることで公開できます。この方法で公開されたメッセージはすべてのサブスクライバに送信されます。このアプローチの限界は、単一のActorSystemの範囲内でのみ機能することです。

分散型パブリッシュ/サブスクライブのシナリオでは、Akka.Cluster.Toolsプラグインを使用して、そのようなオプションを公開することができます。ただし、この場合、サブスクリプションキーはメッセージタイプではなく文字列です。

関連する問題