Couchbase如何实现强大的一致性

ftr*_*ian 3 membase couchbase

我搜索了Couchbase如何在集群内实现强一致性的解释.所有这些都是使用membase的结果吗?

sca*_*bl3 6

Couchbase IS membase btw.Couchbase是一个产品和公司,该公司是NorthScale(Membase)和CouchDB创始人的合并,公司和产品的最终名称是Couchbase.

更新操作(替换和[强制]设置)首先更新RAM缓存,后续读取是新值,这是一致性模型.

Couchbase是一种"最终持久化"(EP)架构,其中CRUD操作首先更新RAM缓存,并插入到磁盘i/o的EP队列中.同时,配置副本时,它们将进入副本队列并传输到其他节点.EP架构允许立即一致性和超高吞吐量,因为磁盘i​​/o是所有系统中最慢的组件.

正如WiredPrairie所提到的,单个节点对给定密钥负责/主动.密钥是散列的,散列的结果是它应该存在的特定分区.sdk维护的partition-> couchbase-node映射允许它们直接转到每个分区的活动节点.同样,这减少了延迟,因为它不必通过负载均衡器(它由架构本身负载平衡),也不通过"主"节点,每个节点都是主节点,也不是通过"分片大师",其作用是将客户端重定向到特定分片.通过绕过所有这些,延迟降至最低.


Wir*_*rie 5

Couchbase通过强制执行特定数据的所有读取到集群中的单个节点来保证强一致性.您无法从副本中读取.如果可以,您可能会得到不一致的数据.

使用2.0 XDCR时,Couchbase仅提供最终的一致性.

我不会说这是除了他们的软件的特定设计要求之外的任何"结果".

此博客文章中还有一些其他信息.