Synchronization 卡桑德拉互斥锁(同步)

Synchronization 卡桑德拉互斥锁(同步),synchronization,locking,cassandra,mutual-exclusion,Synchronization,Locking,Cassandra,Mutual Exclusion,是否仍然可以使用cassandra内置函数同步客户端 我需要执行一些操作,这些操作需要与所有其他客户端同步(互斥) 在RDBMS中,我可以锁定整个表或为同步目的准备特殊表,并使用SELECT。。。获取最新信息 我可以在没有任何第三方应用的情况下通过Cassandra实现这一点吗?如果不是,最好的方法是什么?首选的语言是Java和Python。如果没有像这样的第三方库,就不可能锁定整个(或一个)列族 在开始使用我自己的分布式锁定机制之前,我可能会先看看Domic Williams,如果要更新列族中

是否仍然可以使用cassandra内置函数同步客户端

我需要执行一些操作,这些操作需要与所有其他客户端同步(互斥)

在RDBMS中,我可以锁定整个表或为同步目的准备特殊表,并使用SELECT。。。获取最新信息


我可以在没有任何第三方应用的情况下通过Cassandra实现这一点吗?如果不是,最好的方法是什么?首选的语言是Java和Python。

如果没有像这样的第三方库,就不可能锁定整个(或一个)列族


在开始使用我自己的分布式锁定机制之前,我可能会先看看Domic Williams,如果要更新列族中的一行,它是原子的。但它不会像选择更新一样工作。您可能应该重新考虑您的数据模型,考虑更多的非规范化,这样您就不必担心同步问题。

我也在寻找使用cassandra进行同步的方法,但据我所知,它没有提供实现互斥的机制

然而,memcached具有原子cas(check和set)操作,可用于实现互斥。它还有python和java客户端

因此,您可以使用memcached实现用于同步的互斥,并在cassandra中使用仲裁一致性级别读取/写入数据,以确保在读取时始终返回最新的写入


有没有人有使用memcached实现互斥的经验?

因为C*提供了行级原子性,为什么不使用呢。我在C*wiki上也发现了一个不完整的页面


我不需要锁定柱族。选择同等更新将是最好的。我将检查ZooKeeperIt,您也很可能通过调整数据模型来避免这种需要。也许这会成为另一个很好的SO问题?不,我需要分布式处理架构和Cassandra作为数据存储。我需要同步一些操作,以防止同一数据被多台计算机处理。如果某个互斥锁被刷新或memcached服务器崩溃,这可能会有点不稳定,这会过早释放锁。然而,我不确定当锁定最多只进行几秒钟时发生这种情况的可能性有多大。稳定性取决于许多应用程序,以及互斥体的使用方式。我猜您所指的wiki页面如下: