不同的进程如何同步Cassandra DB的读/写

时间:2016-10-10 07:29:57

标签: cassandra

我们需要同步两个将从同一个cassandra数据库获取数据的进程?

想象cassandra需要存储"整数"根据a"请求"更改值的值。

最初这个值为零,一个新请求到来,我们调用add(new_val)将新数字添加到db中的现有数据。让我们保持场景简单......

但是当两个不同的请求同时在cassandra行中的同一点写入时会发生什么?我们如何确保选择正确的值? 这是cassandra提供的东西吗?

1 个答案:

答案 0 :(得分:1)

您要求的是分布式锁定,而在CAP方面,您要求的是一致的系统。

关于一致性部分,如果遵循规则R + W>,Cassandra可以是一致的。 N,但是您正在影响您的分区容差,如果您遵循此规则而不是构建默认用法的AP系统,则构建CA系统。

关于分布式锁,据我所知,Cassandra不允许这样做,但您可以使用其他系统(如Redis或zookeeper)来提供此功能,但这当然会增加系统的复杂性和维护/监控。