2016-10-30 3 views
2

Akkaクラスタでシングルトンである複数のアクターが存在することはありますか?クラスタに複数のシングルトンアクターを持たせることはできますか?

たとえば、複数のシステムに1つのエントリポイントが必要です。私はSingleton1システム2に入るための責任があるとシステム1Singleton2へのエントリを担当することにしたいかもしれません。複数の責任を持つ単一のシングルトンアクターを持つことは理想的ではありません。もちろん、同じノードで動作しているシングルトンアクターの両方ともOKです。

Akka docsは、ClusterSingletonManagerが "すべてのクラスタノードまたはノードグループの中で1つのシングルトンアクターインスタンスを管理する"と述べています。これは、設定のドキュメンテーションの例と一緒に、私が求めていることは不可能であると結論づけますが、私は確認するように求めました。ありがとう!

+0

アッカのドキュメントは、シングルトンを使用すると、最初の設計上の選択であってはならない」と言います。ボトルネックのシングルポイントなど、いくつかの欠点があります。シングルポイント障害も関連する懸念事項ですが、場合によっては、この機能が、別のシングルトンインスタンスが最終的に開始されることを保証することで対応します。 ClusterReceptionistシングルトンの代わりに?クラスタへのエントリポイントに対する異なるロールを管理することができます – gaston

答えて

0

この質問はAkkaユーザーリストでhereと回答しました。

異なる設定で、それぞれが1つのシングルトンを管理する多くの異なるClusterSingletonManagerアクターを作成できます。

これは、それを区別するアクタの名前(actorOfの2番目のパラメータ)です。

通常、設定ファイルには別の設定が必要ありません。役割などの小さな違いがある場合は、ClusterSingletonManagerSettingsを使用できます。また、設定ファイルセクションからClusterSingletonManagerSettingsをロードすることもできますが、それはしばしば必要ではありません。

http://doc.akka.io/docs/akka/current/java/cluster-singleton.html

http://doc.akka.io/japi/akka/2.4/akka/cluster/singleton/ClusterSingletonManager.html

関連する問題