2

我想了解 aerospike 在不同一致性模式下的行为。

考虑一个运行有 3 个节点和复制因子 3 的 aerospike 集群。

AP modes is simple and it says

Aerospike 将允许在每个子集群中进行读写。

And Maximum no. of node which can go down < 3 (replication factor)

对于 aerospike 强一致性,它说

请注意,唯一成功的写入是在复制因子数量的节点上进行的。其他所有写入都不成功

这是否真的意味着如果可用节点 < 复制因子,则不允许写入。

然后同一份文件说

在系统向客户端返回成功之前,所有写入都提交到每个副本。如果其中一个副本写入失败,master 将确保写入完成到集群内适当数量的副本(或子集群,以防系统受到损害)。

什么appropriate number of replica means

因此,如果我从具有强一致性和复制因子 3 的 3 节点集群中丢失一个节点,我将无法写入数据?

4

2 回答 2

3

对于 aerospike 强一致性,它说

请注意,唯一成功的写入是在复制因子数量的节点上进行的。其他所有写入都不成功

这是否真的意味着如果可用节点 < 复制因子,则不允许写入。

是的,如果节点数少于replication-factor,则不可能满足用户指定的replication-factor.

在系统向客户端返回成功之前,所有写入都提交到每个副本。如果其中一个副本写入失败,master 将确保写入完成到集群内适当数量的副本(或子集群,以防系统受到威胁。)

适当数量的副本意味着什么?

这意味着replication-factor节点必须接收写入。当一个节点发生故障时,一个新节点可以被提升为副本状态,直到该节点返回或操作员注册一个新的roster(集群成员列表)。

因此,如果我从具有强一致性和复制因子 3 的 3 节点集群中丢失一个节点,我将无法写入数据?

是的,所以让所有节点都有一个副本不会是一个非常有用的配置。Replication-factor3 允许最多 2 个节点关闭,但前提是其余节点能够满足replication-factor. 因此,对于replication-factor3,您可能希望使用至少 5 个节点运行。

于 2018-09-25T21:02:48.260 回答
2

你是对的,有 3 个节点和 RF 3,丢失一个节点意味着集群将无法成功进行写入事务,因为它无法写入所需数量的副本(在本例中为 3 个)。

适当数量的副本意味着与配置的复制因子匹配的副本数量。

于 2018-09-25T21:00:59.827 回答