Couchbase - 如果节点在将数据写入磁盘后但在复制之前死亡会发生什么

时间:2014-11-12 10:54:50

标签: couchbase failover

以下是该方案。

我的couchbase服务器下有两个节点,节点A和B.我有复制,所以B将作为A的复制数据的节点。

让我们说我尝试添加一条新记录,它恰好在节点A保存。节点A成功地将这些数据保存在RAM及其磁盘上但是 UNFORTUNATELY,它甚至在此数据被复制到之前就崩溃了节点B

如果我已配置自动故障转移,则所有对节点A数据的请求现在将转到节点B.

我的问题是我是否能够获得无法复制到节点B但是通过节点A磁盘成功写入的新数据?考虑到节点A已关闭,我所拥有的是节点B与

进行通信

如果是,请解释如何。如果没有,是否有任何官方的沙发基础文件提到这种行为。

我试图在官方文档中寻找答案,而且大多数情况看起来答案是否定的,但在此之前,我想在讨论数据丢失之前,先考虑一下这个问题。

提前致谢

1 个答案:

答案 0 :(得分:3)

在您描述的方案中,假设您没有检查数据是否已成功复制,则数据将不可用。但请注意,复制通常会在perisistance之前完成,因为网络通常比磁盘快。

Couchbase提供observe API,允许您验证特定突变是否已被复制和/或持久化。请参阅Couchbase开发人员指南中的Monitoring data using observe