1

我计划将数据存储到基于沙发的集群中。

我想知道如果我的沙发底座在以下情况下发生故障会发生什么:[考虑没有发生的活动交易]

  1. 一个节点从集群中掉线。(我的假设是在节点修复并启动后,它将与其他节点同步,并且数据会在那里)。另外,请告诉我它同步后是否还会丢失任何数据?
  2. 集群出现故障并已修复并重新启动。

请让我知道上述场景的数据持久性类比。

4

1 回答 1

3

是的,Couchbase 将数据持久化到磁盘。它将更改操作写入数据服务节点上的仅附加文件。

对于您的两种情况,数据丢失的可能性不大,因为没有活动事务。

如果节点发生故障,可能会发生数据丢失

  • 同时将更改持久保存到磁盘或

  • 如果存储桶支持副本,则在完成复制到另一个节点之前。

示例:具有复制的三节点集群

考虑一个三节点 Couchbase 集群和一个存储桶,每个文档都有一个副本。这意味着单个文档将在两个单独的节点上存储一个副本,称为活动副本和副本副本。Couchbase 将在节点之间公平地分片文档。

  1. 当一个节点出现故障时,大约三分之一的活动副本和副本副本变得不可用。

    A. 如果添加了一个全新的节点并重新平衡了集群,那么新节点将具有与旧节点相同的活动副本和副本。如果节点失败时复制不完整,则会发生数据丢失。

    B. 如果节点故障转移,则故障节点上活动文档的副本将变为活动状态。如果节点失败时复制不完整,则会发生数据丢失。

    C. 如果故障节点重新加入集群,它可以重用其现有数据,因此唯一的数据丢失是由于无法将更改写入磁盘。

  2. 当集群宕机时,如果出现磁盘故障,可能会导致数据丢失。

于 2017-08-08T06:03:34.407 回答