以下是该方案。
我的couchbase服务器下有两个节点,节点A和B.我有复制,所以B将作为A的复制数据的节点。
让我们说我尝试添加一条新记录,它恰好在节点A保存。节点A成功地将这些数据保存在RAM及其磁盘上但是 UNFORTUNATELY,它甚至在此数据被复制到之前就崩溃了节点B
如果我已配置自动故障转移,则所有对节点A数据的请求现在将转到节点B.
我的问题是我是否能够获得无法复制到节点B但是通过节点A磁盘成功写入的新数据?考虑到节点A已关闭,我所拥有的是节点B与
进行通信如果是,请解释如何。如果没有,是否有任何官方的沙发基础文件提到这种行为。
我试图在官方文档中寻找答案,而且大多数情况看起来答案是否定的,但在此之前,我想在讨论数据丢失之前,先考虑一下这个问题。
提前致谢
答案 0 :(得分:3)
在您描述的方案中,假设您没有检查数据是否已成功复制,则数据将不可用。但请注意,复制通常会在perisistance之前完成,因为网络通常比磁盘快。
Couchbase提供observe
API,允许您验证特定突变是否已被复制和/或持久化。请参阅Couchbase开发人员指南中的Monitoring data using observe。