【问题标题】:In Couchbase's Observe feature, what is the difference between "persistTo" and "replicateTo"?在 Couchbase 的 Observe 功能中,“persistTo”和“replicateTo”有什么区别?
【发布时间】:2012-09-20 21:20:31
【问题描述】:

在Couchbase API 中,有存储和删除操作,可让您指定操作必须成功持久化到多少个节点才能返回。这通过两个方法参数来表示:

我的问题是:persistTo 和 replicateTo 参数有什么区别。例如,传入 PersistTo.MASTER + ReplicateTo.THREE 似乎与传入 PersistTo.FOUR 完全相同。以这两种不同的方式调用这些观察到的 API 之间实际上是否存在任何行为差异?

【问题讨论】:

    标签: nosql couchbase consistency


    【解决方案1】:

    PersistTo.MASTER + ReplicateTo.THREE 意味着该项目至少必须在主节点的磁盘上,并且至少在三个副本节点的内存中。在这种情况下,该项目可能不会保留在副本上。

    PersistTo.FOUR 表示该项目必须保持在主服务器以及三个副本上。

    一种思考问题的好方法是,仅仅因为一个项目被复制到另一个节点并不意味着该项目已被持久化到磁盘。

    【讨论】:

    • 谢谢,这在我看来确实有道理。该文档在这里有点不清楚/略有错误,因为它说 replicateTo 表示“要求数据持久化至少一个副本。”
    • 感谢您的 cmets。我会通知文档作者。
    猜你喜欢
    • 1970-01-01
    • 2012-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-23
    相关资源
    最近更新 更多