2016-06-20 8 views
4

Akkaクラスター内のすべてのノードで、指定されたアクターに存在するランタイムデータがあります。これは、内部イベントまたはAPI呼び出しを介して単一のノードに更新される可能性があります。このデータを共有データベースに保存して永続化することはできましたが、永続化する必要がないため、高速化のためにメモリに格納するだけです。 Akka Cluster Singleton、Distributed Pub Sub、およびおそらく他の組み込みモジュールは、ゴシッププロトコルを使用して、分散状態を同期させた状態に保ちます。Akkaクラスタ間でデータを同期する簡単な方法は?

クラスタ全体で自分のアクターのデータ同期を採用する準備ができていますか?

私はDistributed Pub Subへの変更を公開していると考えましたが、削除されたメッセージには弾力がないようです。私がクラスタシングルトンにそれを保存した場合、そのノードがダウンしてもそれは存続しません。クラスタ全体がダウンしても永続性は必要ありませんが、個々のノードがあれば回復力が必要です。

+4

akka分散データを見ましたか?これは実験的なものですが、要件に適しています。 –

答えて

1

Akka Distributed Dataを参照する必要があります。実際には「Akka Replicated Data」と呼ばれるはずです。すべてのノードでデータを複製するためです。 これは単純なキー値ストアを提供し、あるノードで行われた変更は他のすべてのノードに複製されます。 すべてのデータはすべてノードに保存されているため、小さなデータセットに最適です。また、キーと値のペアの値は、CRDT(競合のない複製データ型)である必要があります。このモジュールには、多くのユースケースをカバーするCRDTがあらかじめ定義されています。

+1

私は数か月間分散データを使ってきました。私はおそらく自分の質問に答えていたはずです。 APIは間違いなく探しているコードにつながっていますが、素晴らしいことです。 – acjay

関連する問題