2016-10-10 18 views
0

同じcassandraデータベースのデータを取得する2つのプロセスを同期させるにはどうすればよいですか?異なるプロセスがCassandra DBからの読み取り/書き込みを同期させる方法

イメージングでは、「要求」に従って値を変更する「整数」値を格納する必要があります。

この初期値はゼロです。新しい要求が来て、add(new_val)を呼び出して新しい番号をdbの既存の値に追加します。シナリオをシンプルに保ちましょう...

しかし、2つの異なるリクエストが同時にカサンドラ行の同じポイントに書き込むとどうなりますか?正しい値が選択されていることを確認するにはどうすればよいですか? これはcassandraが提供するものですか?

答えて

0

あなたが求めているのは分散ロックで、CAP用語では一貫したシステムを求めています。

R + W> Nのルールに従えばCassandraは一貫性がありますが、APシステムを構築する代わりにこのルールに従うとCAシステムを構築するパーティションの許容差に影響しますこれがデフォルトの使用法です。

分散ロックについては、私が知っている限り、Cassandraはこれを許可しませんが、RedisやZookeeperのような他のシステムを使用してこの機能を提供することはできますが、システムの複雑さやメンテナンス/監視が増えます。

+0

ありがとう、分散ロックに関しては何かの例がありますか? – cateof

関連する問題