クラスタルータに関する質問(戦略=ラウンドロビングループ)。クラスタ化された設定で私のルート間でラウンドロビンすることはできません。akka.netラウンドロビングループルータ - 1つのルートへのルーティングのみ
設定は次のとおりです。 ノードA:ASP.NETのコンテキストでアクタシステムを開始します。そこに私は俳優A1に話すAPIコントローラを持って、この俳優は私のルータに話します。このルータは、メッセージをノードBで作成されたルートにラウンドロビンする必要があります(ワーカーロールを使用して)。
ノードBは、Windowsサービスのコンテキスト内でアクターシステムを作成します。私は、ノードB上のすべてのルートが実際に作成されていることを二重チェックしました(サービス起動時に行われます)。
ノードAでルータから送信されたメッセージを受信したルートを確認するために、ReceiveハンドルにSelf.Pathログを記録します。何らかの理由で、同じルートがすべてのメッセージを取得し、ルートの周りに配信されません。
以下のノードAの設定。
/workerRouter {
router = round-robin-group
routees.paths = [
"/user/workers/worker0",
"/user/workers/worker1",
"/user/workers/worker2",
"/user/workers/worker3",
"/user/workers/worker4",
"/user/workers/worker5",
"/user/workers/worker6",
"/user/workers/worker7",
"/user/workers/worker8",
"/user/workers/worker9"
]
cluster {
enabled = on
use-role = worker
}
}
ルータは、次のコードでインスタンス化される:
ActorSystem.ActorOf(Props.Empty.WithRouter(FromConfig.Instance), "workerRouter");
使用バージョン:
- アッカ1.1.0
- Akka.Cluster 1.1.0
- アッカを。リモート1.1.0