2017-03-05 6 views
0

アイデンティティと名前の引数で構成された永続的なPersonアクタが多数存在するとします。どのようなことはするように、クラスタ内でこれらの俳優を分配するための最良の方法だろう。Akkaを使った分散型DDDエンティティ

  • 新しいアクターは戦略X(ラウンドロビン、一貫性のあるハッシュなど)
  • でノードを任命しています」コーディネーター」俳優は、ノードに障害が発生することができますし、影響を受けた俳優は、他のノード
  • に回収される1つまたは複数のIはdoesnのその、以下と考えられてきた何のSPF

がないActorRef

  • へのアイデンティティからのマッピングが含まれています見えない

    • クラスタシャーディング。すべてのアクタはコーディネータによって均等に初期化され、作成されます
    • クラスタ対応ルーティング。グループまたはプールは固定サイズであり、動的に変更することはできません。
  • 答えて

    0

    あなたはAkkaクラスタシャーディングについて説明しているようですが、それが適合しない理由を知るには十分な情報がありません。

    このような設計上の問題に対処する一般的な解決策は、必要な値を含むinitializeコマンド(CreateUser(id, name)のようなもの)のみを受け入れるシャードされたエンティティの初期化されていない状態を持ち、 "正常な"動作。

    Personアクタのデザインを変更する手段がない場合でも、名前の値を抽出するまで、実際のアクタを開始しない中間アクタを導入することもできます。

    c。 AkkaクラスターAPIに直接ドロップしてユースケースと正確に一致するものを構築することもできますが、クラスターのトポロジー変更(ノードの追加、削除など)での再配布の取り扱いは簡単ではありません。

    シャーディングソリューションをビジネスロジックと緊密に結びつけることなく、エンティティにとって完全に非侵襲的なツールを実現することは非常に難しいことに気づくでしょう。

    関連する問題