2017-02-28 3 views
1

simple projectを作成してakka.netクラスターシャーディングをセットアップしようとしています。Akka.netクラスタシャーディング:コーディネーターを登録できません

プロジェクトレイアウト:

俳優 - 1人の俳優とのメッセージを定義するクラスライブラリ。他のプロジェクトによる参照です

インバウンド - ShardedRegionを開始し、クラスタシャーディングに参加する唯一のノードです。そして、コーディネーターを迎え入れる人でなければなりません。

MessageProducer - プロセッサアクトアにメッセージを送信するために、shardedregionプロキシのみをホストします。

灯台 - シードノード

Uploaded imagesは、コーディネーター・シングルトンが初期化され、メッセージが配信されていないsharedregionプロキシを介して送信されていないことを示しています。

petabridge、petabridge.com/blog/cluster-sharding-technical-overview-akkadotnet/により、ブログの記事に基づいて、私はクラスタに参加してから、akka.cluster.sharding.roleを設定することで、灯台を除外しましたコーディネーターが作成されないようにシャーディングします。

これが機能するには何が欠けているのかわかりません。

+0

自分自身を助けることはできませんが、丁寧にhttps://gitter.im/akkadotnet/akka.netにポップアップすることで回答を早めることができます。 – mwardm

+0

@mwardm提案に感謝します。今それを試みます。 – technologyblogger

答えて

1

これはすでにここギッターに答えていたが、TLはです; DR:

  1. シャード領域プロキシは、対応するシャード領域と同じ役割を共有する必要があります。プロキシがシャードコーディネータを見つけることができず、シャードの初期位置を見つけることができない場合は、メッセージを送信したいと考えています。
  2. IMessageExtractor.GetMessageメソッドは、シャードされたアクタに送信される実際のメッセージを抽出するために使用されます。例では、メッセージ抽出プログラムを使用してメッセージをエンベロープから抽出しましたが、受信側のアクタには文字列ではなくエンベロープ用にReceiveハンドラが設定されています。
関連する問題