【发布时间】:2016-11-21 05:20:47
【问题描述】:
我有一段时间处理这个问题,但我找不到好的解决方案。想象一下,有一个 CRUD 节点应用程序与 cassandra 集群进行通信:)
例如应用程序有这样的路由:
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
现在您应该能够以相同的逻辑运行多个 nodejs 进程,但要防止两个进程对数据库中的同一个文档进行更改的可能性。
我的想法是:
只有一个进程可以修改文档
每个进程获取一个范围的id(例如,进程a修改具有偶数id的文档,进程b修改文档 有一个奇怪的 id)
还有其他想法吗?
【问题讨论】:
标签: node.js cassandra multiprocessing crud