2016-10-10 39 views
0

我们需要什么来同步从同一cassandra数据库获取数据的两个进程?不同的进程如何同步来自Cassandra DB的读取/写入

成像cassandra需要存储一个“整数”值,根据“请求”更改值。

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

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

回答

0

你所要求的是一个分布式锁,用CAP术语来说,你要求一个一致的系统。

关于一致性部分,如果遵循规则R + W> N,则Cassandra可以保持一致,但如果遵循此规则而不是构建AP系统,则会影响您的分区容差这是默认的使用情况。

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

+0

谢谢,关于分布式锁定有没有例子? – cateof

相关问题