Aerospike 内存配置

Aerospike In-Memory configuration

考虑 Aerospike 中的一个场景:

data-in-memory 设置为 true 并且 memory space < disk space

当内存被填满时会发生什么(达到 stop-writes-pct)。 aerospike 会停止接受所有的写入吗?或者它将继续写入磁盘(如果磁盘 space 可用)?

在多节点设置中,上述行为如何受到影响?

达到 stop-writes-pct 时写入将开始完全失败。在内存中数据配置中,由任何原因(磁盘或内存已满)触发的停止写入将被两者接受。

此行为针对每个节点(因为 stop-writes-pct 与节点相关而不是集群)。

在集群的情况下,如果它的节点具有 data/partition 的主副本,并且已命中停止写入,则该写入将失败。

如果命中停止写入的节点被认为是副本分区节点,则允许对副本数据进行写入。

单节点

  1. 如果内存中达到stop-writes-pct,写入将失败。
  2. 如果在磁盘中达到stop-writes-pct,写入将失败。

气刺星团

  1. 如果Master中达到stop-writes-pct,则写入失败
  2. 如果在 Replica 中达到 stop-writes-pct,它也会失败,因为 write.commit_level 是 [=默认为 14=]all。