Couchbase 2.0 手册将网络分区描述为一个潜在问题。
但我没有看到(如果)Couchbase 2.0 如何在数据存储方面处理此类问题。
我的问题是 CAS 是如何在集群中实现的,CAS 操作如何处理裂脑问题?是否有集群范围的锁?是最后一位作家获胜吗?
Couchbase 2.0 手册将网络分区描述为一个潜在问题。
但我没有看到(如果)Couchbase 2.0 如何在数据存储方面处理此类问题。
我的问题是 CAS 是如何在集群中实现的,CAS 操作如何处理裂脑问题?是否有集群范围的锁?是最后一位作家获胜吗?
向我们的 Google 群组列表提出了同样的问题:http ://groups.google.com/group/couchbase/browse_thread/thread/e0d543d9b17f9c77
它在线程的底部,从 8 月 30 日开始发布
佩里
Membase 和 Couchbase Server 2.0 是分区数据。对于每条数据(vbucket),总是有一个服务器是事实的来源。
这样做的好处是它总是严格一致的。无需设计冲突解决等。
但是,当某个节点出现故障时,您只会失去对数据子集的访问权限。您可以进行故障转移,在这种情况下,对于丢失的 vbuckets,副本将被提升为 master,从而“恢复”对此 vbuckets 的访问。请注意,由于一些复制滞后,在这种情况下丢失一些最近的突变是不可避免的。并且故障转移是手动操作(尽管最近的版本已经非常仔细地实现并且限制了自动故障转移)。