しばらく私はこの問題に対処しましたが、良い解決策を見つけることができませんでした。カサンドラクラスタと通信CRUDのノード・アプリケーションがあることを想像:)複数のnodejsプロセスによるドキュメントの同時変更の解決策?
たとえばアプリは、このルートを持っている:今、あなたは同じロジックで複数のnodejsプロセスを実行することができるはず
curl -X POST 127.0.0.1:8080/characters -d '{"id":1, "name": "boba fett"}'
curl -X PUT 127.0.0.1:8080/characters/1 -d '{"name": "Boba Fett"}' #<-- the problem
curl -X GET 127.0.0.1:8080/characters/1
curl -X DELETE 127.0.0.1:8080/characters/1
が、 2つのプロセスによってデータベース内の同じドキュメントに変更が生じるのを防ぐことができます。
私のアイデアがあった:プロセスの
つのみが
各処理は、例えば、プロセスAが偶数IDで文書を修正(IDSの範囲を取得し、ドキュメントを変更することができ、プロセスBは奇数のIDを持つ文書 )
任意の他のアイデアを変更しますか?
私はそれが解決策になるとは思わない。 プロセス** A **およびプロセス** B **が文書「** A1 **」を「01.01.2016T00:00:00.000Z」と同時に更新するシナリオを想像してみてください。プロセス** C **は1秒後にドキュメント** A1 **を読み取ります。 Q:プロセスを取得するデータは何ですか?** C **? 1)プロセスからの変更** **; 2)プロセスからの変更** B **; 3)プロセスの変更。最後に記録されたデータがデータベースに記録されます。 – yacut